java基础之高级应用

时间:2023-03-09 08:25:25
java基础之高级应用

在程序中涉及方法重写的地方使用@override Annotation(只作用于方法)注释可以很好的避免由于重写方法名字过长而造成的程序后期出现的难以调试的错误,特别是程序没有报任何的错误时,而程序的运行结果并没有和我们预期的结果一样时,可以考虑使用该方法。

 

通过Annotation可以简化事件编程,例如可以通过注释的方式为控件绑定事件监听器。

 

通常情况下,对象的引用若要访问类的方法或属性是不能为null的,否则会抛出空指针异常,但是引用值为null的对象却可以访问类的静态属性和方法,因为静态类成员是属于类的而不是属于某个对象

 

对于static关键字而言,有一条非常重要的原则:类成员(包括方法,初始化块,内部类和枚举类)不能访问实例成员(包括属性,方法,初始化块,内部类和枚举类)

 

匿名内部类适合用于创建那些仅需要一次使用的类

 

非静态内部类中不允许定义静态成员。原因可能是编译时当发现非静态内部类无static修饰时,编译器将不会继续检查该非静态内部类的类体,也就不可能完成定义在该非静态内部类中静态成员的初始化工作,因此会报告编译时错误。

 

Static关键字不可以修饰外部类(因为外部类的上一级是包)但可以修饰内部类。

 

接口中可以定义内部类,但是只能是静态内部类,且必须使用publicstatic修饰符组合修饰该接口中的内部类。

 

如果需要在外部类以外的其他地方创建非静态内部类的实例或者子类,必须遵守的一条规则是: 非静态内部类的构造器必须通过其外部类对象来调用。

 

如果匿名内部类需要访问外部类的局部变量,则必须使用final修饰符来修饰外部类的局部变量,否则系统将报错。