1. 成员位置的内部类,可以被成员修饰符修饰,内部类可以直接使用外部类成员
调用内部类方法三种格式:
外部类.内部类 变量名 = new 外部类().new内部类();
内部类,内部类方法,都是非静态
外部类.内部类.方法()
内部类静态,内部类方法静态
外部类.内部类 变量 = new 外部类.内部类();
内部类静态,内部类方法非静态
2. 局部位置内部类
运行局部位置内部类,必须依靠外部类中的方法,这个方法中创建内部类对象
局部位置内部类,访问局部变量加final,原因是生命周期问题
final的方法,巧妙的解决的生命周期,因为加final之后,变量变成常量, 不会在改变,于是在编译时期,已将这个值赋值给访问者
3. 匿名内部类
匿名内部类,是一种简化形式,简化子类或者实现类的一种写法
格式:
new 接口或者父类(){
重写方法
}.方法();
当需要多个方法时,格式为:
接口或者父类 变量 = new 接口或者父类(){
重写多个方法
};
变量.方法();
变量.方法(); |
|