好家伙呀,原来这个符号这样读的,读了几年的Lambda了。java
为何要用Lambda表达式express
public class TestLambda { //3.静态内部类 static class Like2 implements ILike{ @Override public void lambda(){ System.out.println("This is lambda2!"); } } public static void main(String[] args) { //父类引用子类对象建立 ILike like = new Like(); like.lambda(); like = new Like2(); like.lambda(); //4.局部内部类 class Like3 implements ILike{ @Override public void lambda(){ System.out.println("This is lambda3!"); } } like = new Like3(); like.lambda(); //5.匿名内部类,类没有接口,直接利用接口或者父类 like = new ILike() { @Override public void lambda() { System.out.println("This is lambda4!"); } }; like.lambda(); //6.用lambda简化 like = () -> { System.out.println("This is lambda5!"); }; like.lambda(); } } //1.定义一个函数式接口 interface ILike{ void lambda(); } //2.实现类 class Like implements ILike{ @Override public void lambda(){ System.out.println("This is lambda!"); } }
这里有几个关键的地方:编程
首先接口,若是只包含一个抽象方法。多线程
用接口来定义对象。ide