Runnable接口的一个简化示例

  1. 匿名内部类
  2. lambda表达式
  3. 方法引用
public class ThreadDemo1 {

    // 使用匿名内部类的方式重写接口
    @Test
    public void testRunnable () throws Exception {
        new Thread(new Runnable(){

            @Override
            public void run() {
                Console.log("使用匿名内部类的方式重写接口");
            }
        }).start();
        //此处等待1秒防止主线程直接结束了
        Thread.sleep(1000);
        //执行结果:使用匿名内部类的方式重写接口
    }

    // 使用Lambda方式重写接口
    @Test
    public void testLambda () throws Exception {
        new Thread(()-> Console.log("使用Lambda方式重写接口")).start();
        //此处等待1秒防止主线程直接结束了
        Thread.sleep(1000);
        //执行结果:使用Lambda方式重写接口
    }

    @Test
    // 使用方法引用的方式
    public void testMothod () throws Exception {
        new Thread(ThreadDemo1::runTest).start();
        //此处等待1秒防止主线程直接结束了
        Thread.sleep(1000);
        //执行结果:使用方法引用的方式

    }

    public static void runTest() {
        Console.log("runTest");
    }

}