我们可以覆盖Java中的start()方法吗?

是的,我们可以 重写Java中Thread start()方法。我们必须调用super.start()方法创建一个新线程,并且需要在该新创建的线程中调用run() 方法。如果我们直接从start()方法内部调用run() 方法,则它可以作为常规方法在实际线程中执行,而不是在新线程中执行。

示例

public class ThreadTest {
   public static void main(String[] args) {
      MyThread t = new MyThread();
      t.start();
   }
}
class MyThread extends Thread {
   @Override
   public void start() { // overriding the start() method
      System.out.println("Overriding a start() method");
      super.start();
   }
   @Override
   public void run() {
      System.out.println("run() method ");
   }
}

输出结果

Overriding a start() method
run() method