1.避免匿名内部类使用过多
package com.wuming.lambda;
//推到lambda表达式
public class TestLambda1 {//静态内部类static class like2 implements Ilike{@Overridepublic void lambda() {System.out.println("I like lambda2");}}public static void main(String[] args) {Ilike like = new like();like.lambda();like = new like2();like.lambda();//局部内部类class like3 implements Ilike{@Overridepublic void lambda() {System.out.println("I like lambda3");}}like = new like3();like.lambda();//5.匿名内部类,没有类的名称,必须借助接口或者父类like=new Ilike(){@Overridepublic void lambda() {System.out.println("I like lambda4");}};like.lambda();//6.lambda表达式like=()->{System.out.println("I like lambda5");};like.lambda();}
}
//定义一个函数式接口
interface Ilike{void lambda();
}
//实现类
class like implements Ilike{@Overridepublic void lambda() {System.out.println("I like lambda");}
}
I like lambda
I like lambda2
I like lambda3
I like lambda4
I like lambda5