我无法将Thread的子类的构造函数应用于lambda表达式

问题描述 投票:0回答:1

在这段代码中,我已经成功地将Thread构造函数应用于main方法中的lambda表达式。

    new Thread(() -> {
        System.out.println("Let's go!");
    }).start();

但是,当我尝试使用Thread的子类执行相同的操作时,出现错误。

class MyThread extends Thread {}

这次,编译器抱怨它无法将MyThread的构造函数应用于lambda表达式。

new MyThread(() -> { //error
    System.out.println("Let's start again!");
}).start();

由于MyThread是从Thread继承的,所以为什么会出现问题?

java inheritance lambda subclass java-threads
1个回答
0
投票

因为MyThread没有具有功能接口参数的构造函数;

© www.soinside.com 2019 - 2024. All rights reserved.