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 }
