packagecom.yimu.demo2;publicclassTestLambda{//3.静态内部类staticclassLike2implementsILike{@Overridepublicvoidlambda(){System.out.println("lamdba2");}}publicstaticvoidmain(String[] args){ILike like =newLike();
like.lambda();
like =newLike2();
like.lambda();//4.局部内部类classLike3implementsILike{@Overridepublicvoidlambda(){System.out.println("lamdba3");}}
like =newLike3();
like.lambda();//5.匿名内部类,没有类的名称,必须借住接口或父类
like =newILike(){@Overridepublicvoidlambda(){System.out.println("lamdba4");}};
like.lambda();//6.用lambda简化
like =()->{System.out.println("lamdba4");};}}//1.定义一个函数式接口interfaceILike{voidlambda();}//2.实现类classLikeimplementsILike{@Overridepublicvoidlambda(){System.out.println("lamdba1");}}
packagecom.yimu.demo2;publicclassTestLambda2{publicstaticvoidmain(String[] args){//1.lambda表示简化IHate hate =(String name)->{System.out.println("lamdba2");};//简化1.参数类型
hate =(name)->{System.out.println("lamdba3");};//简化2.简化括号
hate = name ->{System.out.println("lamdba3");};//简化3.简化花括号(前提代码只能有一行)
hate = name ->System.out.println("lamdba3");
hate.lambda("张三");}}//1.定义一个函数式接口(前提:只有一个方法)interfaceIHate{voidlambda(String name);}//2.实现类classHateimplementsIHate{@Overridepublicvoidlambda(String name){System.out.println("lamdba1");}}