Java内部类

来源:百度文库 编辑:神马文学网 时间:2024/04/29 04:22:38
1、一个内部类的对象能够访问创建它的外部类对象的所有属性及方法(包括私有部分)。
可以闭上眼镜,把这个内部类等同于一个类的一个方法,当然就可以访问这个外部类的
所有方法和属性,私有方法和属性是属于外部类的,当然也就等同于内部类的。
2、对于同一个包中的其它类来说,内部类能够隐藏起来。(将内部类用private修饰即可)
只有在内部类中,才能定义一个为private类型的class,因为这时编译器已经把这个类看作这个类的成员了,但是在一般使用时,就是所谓的“顶级类时”,不能使用private,只能是public 或者是friendly。 如果要是想保证一个类不产生任何的对象,请在构造函数中,把构造函数声明成private。
3、内部类可定义在方法中,称为局部内部类,但它只能使用方法中的final常量。
定义在一个方法内的类,又被成为局部内部类,这个类只能使用在方法中的final常量,注意,这个常量是在一个方法中的,那么能否使用一个类中的常量呢?
当然是可以的,因为类中的常量在一个方法中是可见的。
4、内部类可以被定义为抽象类
abstract 类同样可以在内部类中
5、非静态内部类不能声明本类的static成员
只有一个静态的内部类,才可以声明一个static成员,
如果在匿名内部类中用到了外部对象,就必须保证这个外部对象是final的