8.10
静态内部类和局部内部类:
静态内部类:特殊的成员内部类
静态内部类只能访问外部类中的静态变量和静态方法,如果想要访问非静态的需要创建对象。
创建静态内部类对象的格式: 外部类名.内部类名 对象名= new 外部类名.内部类名();
调用非静态方法的格式: 先创建对象,用对象调用
调用静态方法的格式: 外部类名.内部类名.方法名();
可直接调用静态内部类的静态方法,无需创建对象
局部内部类:
1.将内部类定义在方法里面就叫做局部内部类,类似于方法里面的局部变量
2.外界是无法直接使用,需要在方法内部创建对象并使用
3,该类可以直接访问外部类的成员,也可以访问方法内的局部变量。
匿名内部类:
匿名内部类本质上就是隐藏了名字的内部类
可以写在成员位置,也可以写在局部位置
格式:
new 类名或者接口名() { 继承/实现
重写方法; 方法重写
} 创建对象
使用场景:
当方法的参数是接口或者类时
以接口为例,可以传递这个接口的实现类对象
如果实现类只要使用一次,就可以用匿名内部类简化代码
本文来自博客园,作者:suN(小硕),转载请注明原文链接:https://www.cnblogs.com/liushuosbkd2003/p/17624932.html