一、什么是匿名内部类
没有名字的内部类,只能使用在创建的对象中,类似于局部内部类,方法结束就销毁
二、匿名内部使用格式
//接口
public interface Usb{
void print();
}
public class Test{
public static void main(String[] args){
/*
接口是不能实例化对象出来的,一般如果需要使用接口中的方法通常都是创建一个类A实现B接口并重写D接口中的方法,在类B中创建A对象,通过A对象调用D接口
*/
/*
匿名内部类可以提供过下方的方式创建
new 类名或者接口名(){
//重写抽象方法
};
个人理解就是直接new接口或者抽象类对象,重写其中的抽象方法,然后可以通过创建出来的对象直接使用,其他对象如果要使用的话,只能自己创建对象的时候创建出匿名内部类
*/
Usb usb=new Usb(){
@Override
public void print(){
System.out.println("这是一个匿名内部类")
};
//以上代码就是创建出来一个接口的类对象,实现了接口,重写了接口中的方法
}
}
}
三、匿名内部特点
-
没有类名的局部内部类(一切特征都与局部内部类相同)。
-
必须继承一个父类或者实现一个接口。
-
减少对象的创建,降低代码量