/*
一个使用函数接口作为方法参数的举例
*/
public class Demo03Runnable {
public static void metho1(Runnable r){
new Thread(r).start();
}
public static void main(String[] args) {
//使用普通匿名内部类
metho1(new Runnable() {
@Override
public void run() {
System.out.println(Thread.currentThread().getName());
}
});
//使用Lambda表达式
metho1(()->{
System.out.println(Thread.currentThread().getName());
});
//使用Lambda表达式进一步简化
metho1(()-> System.out.println(Thread.currentThread().getName()));
}
}
输出:
Thread-0
Thread-1
Thread-2