Lambda表达式

Lambda表达式
Lambda表达式是JDK 8开始后的一种新语法形式。
作用:简化匿名内部类的代码写法。
(匿名内部类被重写方法的形参列表) -> {
   被重写方法的方法体代码。
}
注:-> 是语法形式,无实际含义

注意:Lambda表达式只能简化函数式接口的匿名内部类的写法形式
什么是函数式接口?
首先必须是接口、其次接口中有且仅有一个抽象方法的形式

内部类我们是这么写代码的

package com.itheima.d9_lambda;

public class LambdaDemo0 {
    public static void main(String[] args) {
        Animal1 a1 =new Animal1 () {
            @Override
            public void run() {
                System.out.println("乌龟跑的很慢~~~~~");
            }
        };
       a1.run();
    }
}

abstract class Animal1{
    public abstract void run();
}

Lambda表达式 只能针对接口 接口中只有一个抽象方法 上述我们不可以用lambda写

package com.itheima.d9_lambda;

public class TEST {

    @FunctionalInterface // 一旦加上这个注解必须是函数式接口,里面只能有一个抽象方法
    interface Swimming1{
        void swim1();
    }

    public static void main(String[] args) {

        Swimming1 swimming1=()->{
            System.out.println("游泳。。。。。");
        };
        go(swimming1);
    }

    public static void go(Swimming1 s){
        System.out.println("开始。。。");
        s.swim1();
        System.out.println("结束。。。");
    }

}

 

 

posted @ 2022-11-29 12:16  __破  阅读(12)  评论(0)    收藏  举报