Lambda表达式的原理和使用
示例代码:
public class TestLambda1 {
//3.静态内部类
static class Like2 implements ILike{
public void lambda() {
System.out.println("I like lambda静态内部类!");
}
}
public static void main(String[] args) {
ILike iLike = new Like();
iLike.lambda();
iLike = new Like2();
iLike.lambda();
//4.局部内部类
class Like3 implements ILike{
public void lambda() {
System.out.println("I like lambda局部内部类!");
}
}
iLike = new Like3();
iLike.lambda();
//5.匿名内部类,没有类的名称,必须借助接口和父类
iLike = new ILike(){
public void lambda() {
System.out.println("I like lambda匿名内部类!");
}
};
iLike.lambda();
//6.用lamda表达式简化,jdk1.8,()里面写参数
iLike = ()->{
System.out.println("I like lambda表达式!");
};
iLike.lambda();
}
}
//1.定义一个函数式接口,只有一个方法的接口
interface ILike{
void lambda();
}
//2.实现类
class Like implements ILike{
public void lambda() {
System.out.println("I like lambda实现类!");
}
}
lambda表达式继续简化:有一个参数的话括号和参数类型都可以不带
只有一行代码的话花括号也可以去掉
?
|