Lambda表达式

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

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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写

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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 @   __破  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示