这节课学Lambda 表达式,Java 8 最牛的新特性! 作用:把代码写得超级简洁、干净、像高手,专门用来简化函数式接口(比如 Runnable)。
我直接给你最简单、能运行、一看就懂的代码!
一、完整可运行代码
java
public class JavaLesson17 { public static void main(String[] args) { // ========== 1. 传统写法:创建线程(又臭又长) ========== new Thread(new Runnable() { @Override public void run() { System.out.println("传统方式线程执行~"); } }).start(); // ========== 2. Lambda 写法:极简!(重点) ========== new Thread(() -> { System.out.println("Lambda 方式线程执行~"); }).start(); // ========== 3. Lambda 无参 + 一行代码(最简洁) ========== Runnable runnable = () -> System.out.println("一行代码搞定!"); new Thread(runnable).start(); // ========== 4. 带参数的 Lambda(演示:自定义接口) ========== // 传统写法 printMsg(new MyInterface() { @Override public void show(String s) { System.out.println("传统:" + s); } }); // Lambda 写法 printMsg((s) -> System.out.println("Lambda:" + s)); } // 函数式接口(只有一个抽象方法) interface MyInterface { void show(String s); } // 调用方法 public static void printMsg(MyInterface mi) { mi.show("你好 Java"); } }二、运行结果
plaintext
传统方式线程执行~ Lambda 方式线程执行~ 一行代码搞定! 传统:你好 Java Lambda:你好 Java三、核心知识点(新手必背)
1. Lambda 是什么?
简化函数式接口的匿名内部类一句话:少写代码,一样功能
2. 适用条件
必须是函数式接口:接口里只有 1 个抽象方法比如:Runnable、Comparator等
3. 标准格式(超级简单)
java
运行
(参数) -> { 代码块 }4. 3 个简化规则
- 无参数:写
()() -> System.out.println("...") - 一个参数:可以省略
()s -> System.out.println(s) - 一行代码:可以省略
{}和return
5. 好处
- 代码极简洁
- 可读性强
- 写起来超快
四、记忆口诀
函数式接口一根法,Lambda 简化它;小括号 箭头 大括号,代码少得像开挂!