1 package day13.lesson1.p2; 2 3 /* 4 1.7 Lambda表达式的注意事项 5 6 使用Lambda必须要有接口,并且要求接口中有且仅有一个抽象方法 7 8 必须有上下文环境,才能推导出Lambda对应的接口 9 根据局部变量的赋值得知Lambda对应的接口 10 Runnable r = () -> System.out.println("Lambda表达式"); 11 根据调用方法的参数得知Lambda对应的接口 12 new Thread(() -> System.out.println("Lambda表达式")).start(); 13 */ 14 public class LambdaDemo { 15 public static void main(String[] args) { 16 /*useInter(() -> { 17 System.out.println("good good study, day day up"); 18 });*/ 19 20 useInter(() -> System.out.println("good good study, day day up")); //省略模式 21 22 //必须有上下文环境,才能推导出Lambda对应的接口 23 /*new Thread(new Runnable() { 24 @Override 25 public void run() { 26 System.out.println("匿名内部类"); 27 } 28 }).start();*/ 29 30 /*Runnable r = () -> System.out.println("Lambda表达式"); 31 new Thread(r).start();*/ 32 new Thread(() -> System.out.println("Lambda表达式-省略模式")).start(); 33 } 34 35 private static void useInter(Inter i){ 36 i.show(); 37 } 38 } 39 40 interface Inter{ 41 void show(); 42 // void methdod(); //使用Lambda必须要有接口,并且要求接口中有且仅有一个抽象方法 43 }