匿名内部类:
格式:
new 类名或接口名(){
重写方法
};
三大部分:继承或实现、方法的重写、创建对象
结构解释:new创建了一个新的对象,{}内部实际是一个新的对象(子类/实现类)继承(实现)Animal(父类)/接口,因此需要重写Animal内部的抽象方法,即:匿名内部类实际是创建了一个子类对象或是接口的实现类对象。
应用实例:如图定义了方法method,形参为Animal的对象,若在主方法中method方法的实参只需要在调用方法时使用一次,此时则可以不new一个新的对象,而直接在实参位置用匿名内部类创建一个暂时的对象即Animal的子类,并将其传给method方法,此时形参处接收了实参的对象即创建出的Animal的子类对象,通过多态可以实现这个方法的调用并不会占用多余空间。
匿名内部类接口多态同理如图:可直接用s接受匿名内部类创建出来的接口实现类
匿名内部类总结