0

我正在尝试实现一个UserInterface接口,它总是需要在一个线程中运行(所以是Runnable)。所以我有这样的代码,其中SpecificInterface实现UserInterface

UserInterface myUI = new SpecificInterface(...);
Thread thread = new Thread(myUI);
thread.start();

但这显然不起作用,因为我无法UserInterface实现,Runnable因为接口无法实现其他接口。而且我不能只使SpecificInterface可运行,因为这违背了使用接口的意义。

我该怎么做?我是否需要UserInterface创建一个抽象类,或者创建一个RunnableInterface抽象类来实现UserInterfaceRunnable继承我的 UI,或者..?我对为什么“简单”解决方案不起作用感到困惑。

谷歌搜索没有什么帮助,我发现的只是链接告诉我如何使用“可运行界面”:|

4

1 回答 1

3

接口可以扩展其他接口。

interface UserInterface extends Runnable {
    void someOtherFunction();
    // void run() is inherited as part of the interface specification
}

public class SpecificInterface implements UserInterface {
    @Override
    public void someOtherFunction() {
        . . .
    }

    @Override
    public void run() {
        . . .
    }
}
于 2013-08-28T03:51:50.773 回答