从函数式接口—>lambda表达式的转换
public class Testlamda {
public static void main(String[] args) {
ILike like=new Like1();
like.lambda();
like=new Like2();
like.lambda();
/**
* 4.局部内部类
*/
class Like3 implements ILike{
@Override
public void lambda() {
System.out.println("I like lambda3");
}
}
ILike iLike3=new Like3();
iLike3.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();
/**
* 7.用lambda简化再简化
*/
like = () -> System.out.println("I like lambda6");
like.lambda();
}
/**
* 3.静态内部类
*/
static class Like2 implements ILike{
@Override
public void lambda() {
System.out.println("I like lambda2");
}
}
}
/**
* 1.函数式接口
*/
interface ILike{
void lambda();
}
/**
* 2.实现类
*/
class Like1 implements ILike{
@Override
public void lambda() {
System.out.println("I like lambda1");
}
}