Java 多线程(四)Lambda表达式

Lamda表达式

λ希腊字母表中排序第十一位的字母,英语名为Lambda

避免匿名内部类定义过的多

其实质属于函数式编程的概念

理解函数式接口是学习Java8 Lambda表达式的关键所在

函数式接口定义:

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

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

//推导Lambda表达式
public class TestLambda1 {
    //3.静态内部类
    static class Like2 implements ILike{
        @Override
        public void Lambda() {
            System.out.println("I like lambda2!");
        }
    }

    public static void main(String[] args) {
        ILike like = new Like();
        like.Lambda();

        like = new Like2();
        like.Lambda();

     //4.局部内部类
        class Like3 implements ILike{
            @Override
            public void Lambda() {
                System.out.println("I like lambda3!");
            }
        }

        like = new Like3();
        like.Lambda();

    //5.匿名内部类
            like = new ILike() {
                @Override
                public void Lambda() {
                    System.out.println("I like lambda4!");
                }
            };
            like.Lambda();

    //6.用Lambda简化
        like = ()->{
            System.out.println("I like lambda5!");
        };
        like.Lambda();
    }
}
//1.定义函数式接口
interface ILike{
    void Lambda();
}
//2.实现类
class Like implements ILike{
    @Override
    public void Lambda() {
        System.out.println("I like lambda!");
    }
}

1.上面推导输出结果                                                2.下面简化输出结果

                       

public class TestLambda2 {
public static void main(String[] args) {
ILove love = null;
//1.原始
love = (String person)->{
System.out.println(person + "I love you!");
};
love.love("呜呜");

//2.简化去参数类型
love = (person)->{
System.out.println(person + "I love you!");
};
love.love("公子");

//3.简化去括号
love = person->{
System.out.println(person + "I love you!");
};
love.love("大侠");

//4.简化去花括号(此简化前提是方法体内只有一行代码,否则不能简化)
love = person->System.out.println(person + "I love you!");
love.love("随哥");
}
}
interface ILove{
void love(String person);
}

如果括号内有多个参数,也可以去掉参数类型,但是必须加上括号,不能像只有一个参数一样可以去掉括号

 

posted on 2022-10-10 16:50  键盘敲烂的朱  阅读(197)  评论(0编辑  收藏  举报