package TestLamda;//推导λ表达式publicclassTestLamda1{//3.静态内部类staticclassLike2implementsILike{@Overridepublicvoidlamda(){
System.out.println("I like lamda2");}}publicstaticvoidmain(String[] args){
ILike like =newLike();
like.lamda();
like =newLike2();
like.lamda();//4.局部内部类classLike3implementsILike{@Overridepublicvoidlamda(){
System.out.println("I like lamda3");}}
like =newLike3();
like.lamda();//5.匿名内部类,没有类的名称,必须借助接口或父类
like =newILike(){@Overridepublicvoidlamda(){
System.out.println("I like lamda4");}};
like.lamda();//6.lamda简化
like =()->{System.out.println("I like lamda5");};
like.lamda();}}//1.定义一个函数式接口interfaceILike{voidlamda();}//2.实现类classLikeimplementsILike{@Overridepublicvoidlamda(){
System.out.println("I like lamda1");}}
lamda表达式的推到过程package TestLamda;//推导λ表达式public class TestLamda1 { //3.静态内部类 static class Like2 implements ILike{ @Override public void lamda() { System.out.println("I like lamda2"); } } public static