Lambda表达式
1 (params) -> expression [表达式] 2 (params) -> statement [语句] 3 (params) -> {statement } 4 123 5 new Thread(()-> System.out.println("多线程学习")).start();
函数式接口的定义 ??
1.任何接口,如果只包含唯一一个抽象方法,那么它就是一个函数式接口。 ??
2.对于函数式接口,我们可以通过lambda 表达式来创建该接口的对象。
1 public interface Runnable{ 2 public abstract void run(); 3 }
案例1
1 package cn.bloghut.lambda; 2 9 public class Testlambda { 10 11 //3.静态内部类 12 static class Like2 implements ILike { 13 @Override 14 public void lambda() { 15 System.out.println(" i like lambda2"); 16 } 17 } 18 19 20 public static void main(String[] args) { 21 ILike like = new Like(); 22 like.lambda(); 23 24 like = new Like2(); 25 like.lambda(); 26 27 //4.局部内部类 28 class Like3 implements ILike { 29 @Override 30 public void lambda() { 31 System.out.println(" i like lambda3"); 32 } 33 } 34 35 like = new Like3(); 36 like.lambda(); 37 //5.匿名内部类 38 like = new ILike() { 39 @Override 40 public void lambda() { 41 System.out.println(" i like lambda4"); 42 } 43 }; 44 like.lambda(); 45 46 //6.用lambda表达式 47 like = ()->{ 48 System.out.println(" i like lambda5"); 49 }; 50 like.lambda(); 51 52 } 53 } 54 55 //1.定义一个函数式接口 56 interface ILike { 57 void lambda(); 58 } 59 60 //2.实现类 61 class Like implements ILike { 62 63 @Override 64 public void lambda() { 65 System.out.println(" i like lambda"); 66 } 67 }