Lambda表达式的作用可以近似于匿名内部类,让接口类型的变量接收该接口实现类对象。
在应用中,接收的参数是一个lambda表达式,相当于形参Runnable target 接收了Runnable接口的实现类对象,从而实现传接口实现类对象样式参数的快捷方式。
public class Demo {
public static void main(String[] args) {
Hello h1 = new Hello() {
@Override
public void hello() {
System.out.println("hello one...");
}
};
h1.hello();
Hello h2 = ()->{
System.out.println("hello two...");
};
h2.hello();
// 应用一
Thread thread = new Thread(() -> { // // 形参为Runnable target
System.out.println("重写Runnable中的run方法")
});
// 应用二
ExecutorService executorService = Executors.newCachedThreadPool();
//Executors --- 可以帮助我们创建线程池对象
//ExecutorService --- 可以帮助我们控制线程池
executorService.submit(()->{ // 形参为Runnable target
System.out.println(Thread.currentThread().getName() + "在执行了");
});
}
}
interface Hello{
abstract void hello();
}