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( "结束。。。" ); } } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY