一:局部内部类
1概述:将内部类定义在方法里面就叫做局部内部类。类似于方法里面的局部变量。
2.注意点:外界无法直接使用,需要在方法内部创建对象并使用。
3.该类可以直接访问外部类成员,也可以访问方法内的局部变量。
public class Outer{
public static void show(){
pulic class Inter(){
}
//上面这个类就是局部内部类
}
}
二:匿名内部类
1。概述:简单来说就是隐藏了名字的内部类。
2.格式:new 类名或者是接口名(){
重写方法;
};
public class Outer{
new IPlay(){
//假设创建了一个IPlay的接口,在里面定义一个玩游戏的方法,然后在下面重写方法
public void piayGame(){
System.out.println("玩游戏");
}
}
}
注意:匿名内部类可以写在局部位置也可以写在成员位置。
格式细节:包含了继承、方法重写、创建对象。整体是一个类的子类对象或者接口的实现类对象。
三:使用场景
当方法的参数是接口或者是类的时候,以接口为例,可以传递这个接口的实现类对象,如果这个实现类只需要使用一次,就可以使用匿名内部类简化代码。