匿名内部类:匿名内部类其实就是没有名称的内部类。
作用:一个接口的实现类作为方法参数传入,而是直接通过匿名内部类的形式传入一个接口类型参数,在匿名内部类中直接完成方法的实现。
格式:new父类名或接口名({
//方法重写
@Override
//执行语句
}
}
public static void main(String[] args) { new A().fun2(); } } interface Person{ void sleep(); } class User implements Person{ @Override public void sleep() { System.out.println("睡觉"); } } class A{ void fun1(Person p){ p.sleep(); } void fun2(){ this.fun1(new Person() { @Override public void sleep() { System.out.println("AAAA"); } }); } void fun3(){ this.fun1(()->{ System.out.println("BBBB"); }); }