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();
}
}