内部类(inner):定义在没某个类中的类
1. 优点:可以访问外部类的所有成员,包括private成员(这就是他的应用优势),但是注意了: 外部类访问内部类的成员时,必须先建立对象。
2. 特殊:实例化方法:外部类.内部类 引用=外部类对象.new 内部类();编译后产生的.class文件多了个:外部类.内部类.class
并且内部类可以私有化,即用private修饰,对于外部的一般类这是不允许的。内部类的对象依赖于外部类对象。
3. 应用: 实体里面存在实体,当某个类需要访问外部类的成员,而且这两个实体存在包还关系时,可以采用内部类的形式来实现。
4. 访问: 建议外部类提供公共的方法,让其它类来访问。因为内部类通常定义为私有的。内部类一般用来完成外部类的一些功能。
5. static 修饰,类似于用static修饰方法,不能访问非static成员 若有static成员,类必须定义为Static类型。
6. 外部类与内部类成员重名时,要访问外部类成员,语法:外部类.this.成员。可以理解为内部类持有外部类的对象,这个对象就是:外部类.this
7. 局部内部类只能访问方法的final类型变量。(生命周期问题)
可以这样简单的理解:内部类是外部类的一个成员,它遵循成员的基本规定。但内部类毕竟是一个类,所以也具有类的特性。 |