需求:
- 定义一个类(RunnableDemo),在类中提供两个方法
一个方法是:startThread(Runnable r)方法参数Runnable是一个函数式接口
一个方法是主方法,在方法中调用startThread方法
如果方法的参数是一个函数式接口,我们可以使用lambda表达式作为参数传递
-
startThread(()->System.out.println(Thread.currentThread().getName()+“线程启动了”))
-
Runnable接口是一个函数式接口
假设有一个startThread方法使用该接口作为参数,可以使用lambda进行传参
这种情况和Thread类的构造方法参数为Runnable没有区别
代码实现:
RunnableDemo测试类
package Demo5;
public class RunnableDemo {
public static void main(String[] args) {
//匿名类形式写
// tartThread(new Runnable() {
// @Override
// public void run() {
// System.out.println(Thread.currentThread().getName()+"线程启动了");
// }
// });
//lambda表达式写
tartThread(()-> System.out.println(Thread.currentThread().getName()+"线程启动了"));
}
private static void tartThread(Runnable r){
//源代码已看到Runnable接口有且仅有一个抽象方法
Thread t = new Thread(r);
t.start();
}
}