Lambda
函数式接口:
任何接口,如果只包含唯一一个抽象方法,那么那它就是一个函数式接口。
public interface Runablen{ public abstract Void run(); }
对于函数式接口我们可以使用lambda表达式创建该接口。
推导lambda表达式过程
package ex; public class Lambda { // 3.静态内部类 static class Like2 implements ILike{ @Override public void like() { System.out.println("like2"); } } public static void main(String[] args) { ILike like = new Like(); like.like(); // 局部内部类 class Like3 implements ILike{ @Override public void like() { System.out.println("like3"); } } ILike like3 = new Like3(); like3.like(); /* 6.匿名内部类*/ ILike Like6 = new ILike() { @Override public void like() { System.out.println("like4"); } }; // lambda表达式 ILike like7=()->{ System.out.println("like7"); }; like7.like(); } ILike like8=()-> System.out.println("like8");; like8.like(); } /*定义一个函数式接口*/ interface ILike{ void like(); } //实现类 class Like implements ILike{ @Override public void like() { System.out.println("like"); } }
package ex; public class lambda2 { public static void main(String[] args) { // 局部类 /*class ALike implements ex.B{ @Override public void like(int a) { } }*/ // 2. B aLike = new B() { @Override public void like(int a) { } }; // 3. aLike =(a)->{ System.out.println(); }; // 4. aLike =(a)-> System.out.println(); aLike.like(521); } } /*1*/ /*class ALike implements B{ @Override public void like(int a) { System.out.println("I like you "+a); } }*/ interface B{ void like(int a); }