lambda表达是怎么演变来的,你了解吗?
下面我们用一个例子来演示一下lambda表达式的演变
/**
* 推导lambda表达式
*/
public class LambdaTest {
//静态内部类
static class Like2 implements ILike{
@Override
public void lambda() {
System.out.println("i like lambda1");
}
}
public static void main(String[] args) {
ILike like =new Like();
like.lambda();
like=new Like2();
like.lambda();
//局部内部类
class Like3 implements ILike{
@Override
public void lambda() {
System.out.println("i like lambda2");
}
}
like=new Like3();
like.lambda();
//匿名内部类 没有类的名称 必须借助接口或者父类
like=new ILike() {
@Override
public void lambda(){
System.out.println("i like lambda3");
}
};
like.lambda();
//用lambda简化
like=()->{
System.out.println("i like lambda4");
};
like.lambda();
}
}
//定义一个函数式接口
interface ILike{
void lambda();
}
//实现类
class Like implements ILike{
@Override
public void lambda() {
System.out.println("i like lambda");
}
}
lambda表达式的演变最开始是由静态内部类—>局部内部类—>匿名内部类—>lambda表达式
注意的是:lambda使用只能是单继承,也就是说接口中的方法只能有一个,才叫做单继承
还没有评论,来说两句吧...