Lambda 表达式(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstraction),是一个匿名函数,即没有函数名的函数。Lambda表达式可以表示闭包。
这里就展示了Lambda是如何从其他表现形式一步步简化成为lambda表达式的,有助于对lambda表达式的理解与使用。
//1、先定义一个函数式借接口(就是只有一个抽象类方法)
interface ILike {
void Lombda();
}
//2、实现类
class Like implements ILike {
@Override
public void Lombda() {
System.out.println("i like lombda1!");
}
}
public class Demo1 {
//3、静态内部类
static class Like1 implements ILike {
@Override
public void Lombda() {
System.out.println("i like lambda2!");
}
}
public static void main(String[] args) {
new Like().Lombda();
new Like1().Lombda();
//4、局部内部类
class Like2 implements ILike {
@Override
public void Lombda() {
System.out.println("i like lambda3!");
}
}
new Like2().Lombda();
//5、匿名内部类,没有类的名称,只能靠接口或者父类实现
ILike i = new ILike() {
@Override
public void Lombda() {
System.out.println("i liek lambda4!");
}
};
i.Lombda();
//6、Lambda
i = () -> {
System.out.println("i like lambda5!");
};
i.Lombda();
}
}