我正在尝试实现一个UserInterface
接口,它总是需要在一个线程中运行(Runnable
也是如此)。所以我有这样的代码,其中SpecificInterface
实现了UserInterface
:
UserInterface myUI = new SpecificInterface(...);
Thread thread = new Thread(myUI);
thread.start();
但这显然不起作用,因为我无法使UserInterface
实现Runnable
,因为接口无法实现其他接口。而且我不能让SpecificInterface
可以运行,因为这会破坏使用接口的程度。
我该怎么做才能做到这一点?我是否需要使UserInterface
成为一个抽象类,或者创建一个RunnableInterface
抽象类来实现UserInterface
和Runnable
并从中继承我的UI,或者......?我很困惑为什么“简单”的解决方案不起作用。
谷歌搜索没有帮助,我找到的链接告诉我如何使用“Runnable界面”:|
答案 0 :(得分: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() {
. . .
}
}