码迷,mamicode.com
首页 > 其他好文 > 详细

lambda表达式

时间:2021-03-15 11:21:29      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:lambda表达式   interface   love   代码   坚持   就是   public   表达式   override   

lamda表达式

为什么要使用lamda表达式

  • 避免匿名内部类定义过多
  • 可以让你的代码看起来更简洁
  • 去掉一堆没有意义的代码,只留下核心的逻辑。

理解Functional Interface(函数式接口)是学习java8 lamda表达式的关键。

函数式接口的定义:

  • 任何几口,如果只包含唯一一个抽象方法,那么它就是一个函数接口。
  • 对于函数式接口,我们可以通过lamda表达式来创建该接口的对象。

练习代码:

package www.chen.com.lamda;
/*
推导lambda表达式
*/
public class TestLambda {
    //3.静态内部类
    static class Love2 implements ILove{
        @Override
        public void lambda(int a) {
            System.out.println("坚持努力学习2"+a);

        }
    }

    public static void main(String[] args) {
        //接口去new 实现类
        ILove love = new Love();
        love.lambda(10);
        ILove love2 = new Love2();
        love2.lambda(20);

        //4.局部内部类
        class Love3 implements ILove{
            @Override
            public void lambda(int a) {
                System.out.println("坚持努力学习3"+a);
            }
        }
        love = new Love3();
        love.lambda(40);

        //5.匿名内部类,没有类的名称,必需借助接口或者父类
        love = new ILove() {
            @Override
            public void lambda(int a) {
                System.out.println("坚持努力学习4"+a);
            }
        };
        love.lambda(50);

        //6.用lambda表达式简化
        love =  (int a)-> {
            System.out.println("坚持努力学习5"+a);
    };
        love.lambda(60);

    }
}

//1.定义一个函数式接口
interface ILove{

    void lambda(int a);

}

//2.实现类
class Love implements ILove{
    @Override
    public void lambda(int a) {
        System.out.println("坚持努力学习1"+a);

    }
}

lambda表达式

标签:lambda表达式   interface   love   代码   坚持   就是   public   表达式   override   

原文地址:https://www.cnblogs.com/edefansi/p/14529652.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!