匿名内部类
什么是匿名内部类?
没有名字的局部内部类,也叫做匿名子类对象
匿名内部类的定义格式?
new 类名/接口名() {//重写的方法//自定义的方法};new Person() {public void sleep(){System.out.println("睡觉");}};
我们什么时候可以使用匿名子类对象?
当一个方法的形参是接口或者抽象类的时候,我们就可以选择使用匿名子类对象
interface Inter {public abstract void print();}class Demo01 {public static void main(String[] args) {show(new Inter() {public void print() {System.out.println("哈哈");}});}public static void show(Inter inter) {Inter inter = new Inter() {public void print() {System.out.println("在吗");}};inter.print();}}
public class Demo02 {public static void main(String[] args) {new Fu() {//方法的重写public void show(Inter inter) {inter.print();}}.show(new Inter() {//方法的重写public void print() {System.out.println("哈哈");}});}}abstract class Fu {public abstract void show(Inter inter);}interface Inter {public abstract void print();}
public class Demo03 {public static void main(String[] args) {Tool.getInstance().show();}}interface Inter {public abstract void show();}class Tool {public static Inter getInstance() {return new Inter() {public void show() {System.out.println("哈哈");}};}}
创作挑战赛 新人创作奖励来咯,坚持创作打卡瓜分现金大奖