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(); }