我們可以在 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  

更新於: 28-11-2023

2 千 +瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始吧
廣告