Lambda表达式
-
λ希腊字母表中排序第十一位的字母,英文名称为Lambda
-
其实质属于函数式编程的概念
-
为什么要使用lambda表达式:
- 避免匿名内部类定义过多
- 可以让代码看起来更简洁
- 请去掉了一堆没有意义的代码,只留下核心的逻辑
-
函数式接口:任何接口,如果只包含唯一一个抽象方法,那么他就是一个函数式接口
-
对于函数式接口,我们可以通过lambda表达式来创建该接口的对象
-
例子:
public class lambdaDemo01 { //3.静态内部类 static class Like2 implements ILike{ @Override public void lambda() { System.out.println("i like lambda2"); } } public static void main(String[] args) { ILike like = new Like(); like.lambda(); like = new Like2(); like.lambda(); //4.局部内部类 class Like3 implements ILike{ @Override public void lambda() { System.out.println("i like lambda3"); } } like = new Like3(); like.lambda(); //5.匿名内部类:没有类的名称,必须借助接口或者父类 like = new ILike(){ @Override public void lambda() { System.out.println("i like lambda4"); } }; like.lambda(); //6.用lambda简化 like = ()-> { System.out.println("i like lambda5"); }; like.lambda(); } } //1.首先定义一个函数式接口 interface ILike{ void lambda(); } //2.实现类 class Like implements ILike{ @Override public void lambda() { System.out.println("i like lambda"); } }