内部类
在方法体或代码块
局部内部类
1、可以访问外部类的所用成员,包括私有的
2、不能添加访问修饰符,因为局部内部类跟局部变量一样,可以加final关键字。
3、作用域:仅仅在定义它的代码块或方法中
4、局部内部类可以直接访问外部类的成员
5、外部类可以通过对象来访问局部内部类
6、外部其他类不能访问局部内部类,因为局部内部类是局部变量
7、如果局部内部类的属性名和外部类相同,遵循就近原则。如果要指定访问外部类的属性,可以用外部类名.this.属性名
匿名内部类
1、可以访问外部类的所用成员,包括私有的
2、不能添加访问修饰符,因为局部内部类跟局部变量一样,可以加final关键字。
3、作用域:仅仅在定义它的代码块或方法中
4、局部内部类可以直接访问外部类的成员
5、外部类可以通过对象来访问局部内部类
6、外部其他类不能访问局部内部类,因为局部内部类是局部变量
7、如果局部内部类的属性名和外部类相同,遵循就近原则。如果要指定访问外部类的属性,可以用外部类名.this.属性名
8、匿名内部类使用一次就消失,不能在使用
匿名内部类的代码体现
创建一个匿名内部类的一个实例化对象,假设为a。在alarmClock方法中,调用了ring()方法,这时候就有动态绑定,更对象a绑定。所以他就会调用匿名内部类中的方法,输出语句。
标签:部类,内部,局部,访问,匿名,属性 From: https://www.cnblogs.com/shangshil/p/16705224.html