案例:函数式接口作为方法的参数

package com.chunzhi.Test03LambdaTest;
/*
    如果方法的参数是一个函数式接口,我们就可以使用Lambda表达式从而达到简便代码的效果
        函数式接口:有且只有一个抽象方法的接口,称之为函数式接口
 */
public class Test01Runnable {
    // 定义一个方法startThread,方法的参数使用函数式接口Runnable
    public static void startThread(Runnable run) {
        // 开启多线程
        new Thread(run).start();
    }

    public static void main(String[] args) {
        // 调用startThread方法,方法的参数是一个接口,那么我们可以传递这个接口的匿名内部类
        startThread(new Runnable() {
            @Override
            public void run() {
                System.out.println(Thread.currentThread().getName() + "线程启动了");
            }
        });
        // 调用startThread方法,方法的参数是一个函数式接口,所以可以传递Lambda表达式
        startThread(() -> {
            System.out.println(Thread.currentThread().getName() + "线程启动了");
        });
        // 优化Lambda表达式
        startThread(() ->System.out.println(Thread.currentThread().getName() + "线程启动了"));
    }
}

 

posted @ 2020-11-28 23:49  春志  阅读(620)  评论(0编辑  收藏  举报