我尝试使用实现Runnable
接口的类的构造函数。但是我很惊讶地发现它从未被调用过。调用了run()
方法,但是从未调用过构造函数。我已经编写了一个简单的示例代码来显示这种现象。谁能解释为什么会这样?
public class MyRunner implements Runnable {
public void MyRunner() {
System.out.print("Hi I am in the constructor of MyRunner");
}
@Override
public void run() {
System.out.println("I am in the Run method of MyRunner");
}
public static void main(String[] args){
System.out.println("The main thread has started");
Thread t = new Thread(new MyRunner());
t.start();
}
}
最佳答案
将public void MyRunner()
更改为public MyRunner()
(无返回类型)。 public void MyRunner()
不是构造函数,它是一种方法。构造函数声明没有返回类型。