函数式接口的定义:
任何接口,如果只包含唯一一个抽象方法,那它就是一个函数式接口
对于函数式接口,我们可以通过lambda表达式来创建该接口对象
public class TestLamdba1 { public static void main(String[] args) { ILike like=new Like(); like.lambda(); ILike like2=new Like2(); like2.lambda(); //4.局部内部类 class Like3 implements ILike{ @Override public void lambda() { System.out.println("xi huan3"); } } ILike like3=new Like3();//局部内部类一定要放在前面 like3.lambda(); //5.匿名内部类,没有类名称,必须借助接口或者父类 ILike like4=new ILike() { @Override public void lambda() { System.out.println("xi huan4"); } }; like4.lambda(); //6.用lambda简化 ILike like5=()->{ System.out.println("xi huan5"); }; like5.lambda(); } //3.静态内部类 static class Like2 implements ILike{ @Override public void lambda() { System.out.println("xi huan2"); } } } //1.定义一个函数式接口 interface ILike{ //接口里面默认就是抽象方法 void lambda(); } //2.实现类 class Like implements ILike{ @Override public void lambda() { System.out.println("xi huan"); } }
lamdba简化:参数类型简化,括号简化(一个参数),花括号简化(一句代码)!