我正在尝试用 Java 中的 Runnable 对象创建一个基本线程。下面是我的代码:
import java.lang.Thread;
import java.lang.Runnable;
public class TestRunnable{
public static void main(String[] args){
MyRunnableImplementation r = new MyRunnableImplementation();
Thread t = new Thread(r);
t.start();
}
}
public class MyRunnableImplementation implements Runnable {
@Override
public void run() {
System.out.println("Testing");
}
}
但是编译器提出了一个问题: 方法不会覆盖其父类(super class)中的方法 @Override
我该如何解决这个问题?
编辑:
我还尝试了以下代码,它返回相同的问题:
public class TestRunnable implements Runnable{
public static void main(String[] args){
Runnable runnable = new TestRunnable();
}
@Override
public void run() {
System.out.println("Testing");
}
}
最佳答案
两个公共(public)类不能驻留在同一个 java 源中;因此@boobalan_gnanasekaran 的回答。
Runnable 也是一个接口(interface)。在java的真正旧版本中,@Override
仅允许用于类方法。所以要确保java版本没问题。我建议尝试一些更现代的结构:
Optional<String> opt = Optional.empty();
如果无法编译,请更新 java 版本。
关于java - 如何修复 Runnable 中 run 方法的编译器问题 "method does not override a method from its superclass @Override"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48787144/