一、概述
匿名内部类指的就是没有名字的局部内部类
二、前提
必须有一个类(抽象类,普通类均可),或者接口
三、格式
new 类名或者接口名(){
//重写类或者接口中所有的抽象方法
}
四、本质
匿名内部类就是一个继承了类或者实现了接口的匿名的子类对虾干
简单理解:匿名内部类的本质就是一个子类对象
五、使用场景
- 当对对象方法(即:成员方法)仅调用一次的时候
- 匿名内部类可以作为方法的实参进行传递
六、实例
/*
1.定义Animal抽象类,该类中有一个抽象方法eat()
2.在测试类的main方法中,通过匿名内部类的形式创建Animal抽象类的子对象
3.调用Animal类中的eat方法
*/
public abstract class Animal {
public abstract void eat();
}
public class AnimalTest {
public static void main(String[] args) {
Animal a = new Animal(){
@Override
public void eat() {
System.out.println("我要开始吃东西了");
}
};
a.eat();
}
}