参考代码
package org;
public class foyou {
/**
* Lambda表达式
* Lambda表达式就是匿名接口对象的简写(就是要new一个接口,然后加上实现代码)
* Lambda表达式只适用于函数式编程接口
* 简单来说就是只有一个抽象方法的接口类型(描述不够准确,大概就是这样)
*/
public static void main(String[] args) {
/**
* 创建一个线程
*/
//匿名对象形式
new Thread(new Runnable() {
@Override
public void run() {
System.out.println("匿名对象形式的线程");
}
}).start();
//Lambda表达式形式
new Thread(() -> {
System.out.println("Lambda表达式形式的线程1");
}).start();
//由于内部代码只有一行,所以可以省略花括号{}和分号;
//同时如果System.out.println("Lambda表达式形式的线程2"))有返回值的话,
// 那么Lambda表达式也会将其返回
new Thread(() -> System.out.println("Lambda表达式形式的线程2")).start();
/**
* 解析一下
* 由于new Thread()中的参数是已知的 -> Runnable对象,所以在Lamnda表达式中省略了对象名
* 又由于Runnable中只有一个抽象接口函数,所以函数名 -> run 也省略了
* 所以总结下来,Lambda表达式的结构就是 (参数…)->{实现体}
*/
}
}
看视频也许更清晰明了
链接:https://pan.baidu.com/s/1Skh7S9b4g_UDRoHhDBFLkg
提取码:dp2k