JavaSE-22.1.6【Lambda表达式的注意事项】

 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 }

 

posted @ 2021-06-11 12:53  yub4by  阅读(64)  评论(0编辑  收藏  举报