Lamda表达式

Lamda表达式可以简化匿名内部类

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

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

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

示例:

public class TestLamda {
    public static void main(String[] args) {
        //匿名内部类 创建接口对象
        Animal animal = new Animal(){
            public void run(String name){
                System.out.println(name+"正在跑!");
            }
        };
        animal.run("兔子");

        //lamda表达式 创建接口对象
        Animal animal2 = (String name) -> {
            System.out.println(name + "正在跑!");
        };

        //lamda简化1:去掉参数类型
        animal2 = (name) -> {
            System.out.println(name + "正在跑!");
        };

        //lamda简化2:参数或方法体唯一时,可以去掉括号
        animal2 = name -> System.out.println(name + "正在跑!");
		
        animal2.run("乌龟");

    }

    interface Animal{
        void run(String name);
    }

}


posted @ 2021-04-25 11:53  yub  阅读(204)  评论(0)    收藏  举报