首页 > 其他 > 详细

Lambda表达式

时间:2020-12-02 09:41:17      阅读:29      评论:0      收藏:0      [点我收藏+]

理解Function Interface(函数式接口) 是学习Java8 lambda表达式的关键所在。

函数式接口的定义:

  任何接口,如果只包含唯一一个抽象方法,那么它就是一个函数式接口。

public interface Runnable{
   public abstract void run(); 
 }

对于函数式接口,我们可以通过lambda表达式来创建该接口的对象。

代码推导lambda表达式:

 1 package Thread;
 2 /*
 3 * 从1到5一步步简化
 4 *
 5 * */
 6 public class LambdaTest {
 7 
 8     //3 静态内部类
 9     static class Like2 implements ILike{
10         @Override
11         public void lambda() {
12             System.out.println("I like lambda2");
13         }
14     }
15 
16     public static void main(String[] args) {
17         ILike like=new Like();
18         like.lambda();
19 
20         like=new Like2();
21         like.lambda();
22 
23         //4局部内部类
24         class Like3 implements ILike{
25 
26             @Override
27             public void lambda() {
28                 System.out.println("I like lambda3");
29             }
30         }
31         like=new Like3();
32         like.lambda();
33 
34         //5 匿名内部类,没有类的名称,必须借助接口或父类
35         like=new ILike() {
36             @Override
37             public void lambda() {
38                 System.out.println("I like lambda4");
39             }
40         };
41         like.lambda();
42 
43         //6 用lambda简化
44         like=()->{
45             System.out.println("I like lambda5");
46         };
47         like.lambda();
48 
49     }
50 }
51 
52 //1,定义一个函数式接口
53 interface ILike{
54     void lambda();
55 }
56 //2 实现类
57 class Like implements ILike{
58     @Override
59     public void lambda() {
60         System.out.println("I like lambda");
61     }
62 }

 

Lambda表达式

原文:https://www.cnblogs.com/dragon-lan/p/14071584.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!