`

内部类总结

阅读更多

转载http://hxraid.iteye.com/blog/494230

内部类的特点总结

 

(1)  在方法间定义的非静态内部类:

       ● 外围类和内部类可互相访问自己的私有成员。 (外围类创建了访问各变量的静态方法,内部类有包可见构造器)

       ● 内部类中不能定义静态成员变量。(如果可以定义的话,如何引用它,引用内部类需要外部类的实例,而静态成员变量不需要实例)


(2) 在方法间定义的静态内部类:

       ● 只能访问外部类的静态成员。(就像静态方法不能用非静态变量一样)

 


(3) 在方法中定义的局部内部类:

       ● 该内部类没有任何的访问控制权限

       ● 外围类看不见方法中的局部内部类的,但是局部内部类可以访问外围类的任何成员。

       ● 方法体中可以访问局部内部类,但是访问语句必须在定义局部内部类之后。

       ● 局部内部类只能访问方法体中的常量,即用final修饰的成员。 (如果在内部类中直接使用,如打印,就必须是final,否则外围的变量一旦要被回收,或者更改,内部类作为回调等功能就无法正常工作。如果是作为参数传到另一个方法,其实就已经值拷贝了一份,不需要final)


(4) 在方法中定义的匿名内部类:

       ● 没有构造器,取而代之的是将构造器参数传递给超类构造器。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics