JAVA内部类小结
定义:
一个类定义置入另一个类定义中。这就叫作“内部类”。内部类分为成员内部类和局部内部类。其中成员内部类包括实例内部类与静态内部类。局部内部类分为有名内部类与匿名内部类。
语法:
实例内部类
1. 类可以声明为public,private,protected,默认,abstract,final。
2. 在行为上类似类的属性和方法且禁止声明static的方法与属性。
3. 内部类拥有指向封装类的一个链接,所以可以访问封装类对象的成员。除此以外,内部类拥有封装类所有元素的访问权。
4. 外部类按常规的类访问方式使用内部类,唯一的差别是外部类可以访问内部类的所有方法与属性。包括私有方法与属性。
5. 在类外或本类的static方法中创建一个内部类,必须拥有外部类的一个实例。因为内部类的对象已同创建它的外部类默默的连接在一起了(内部类拥有一个指向外部对象的链接)。
6. 例子:
静态内部类
1. 类可以声明为public,private,protected, 默认,abstract,final。
2. 静态内部类不依赖于外部类的实例,所以静态内部类不能访问外部类的非静态的属性与方法。
3. 外部类可以访问内部类的所有方法与属性。
4. 静态类可以声明static的方法与属性(static的方法与属性只能声明在外部类与静态内部类中)。
5. 例子:
局部内部类
1. 局部内部类是定义在方法内部的类,只可以在作用域内使用。
2. 类只能声明为final和abstract。
3. 例子
有名内部类:
匿名内部类:
从内部类继承
内部类构建器必须同封装类对象的一个句柄联系到一起
2010-09-04