我们可以在 Java 中重写 start() 方法吗?

javaobject oriented programmingprogramming更新于 2024/5/9 19:22:00

是的,我们可以在 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() { // 重写 start() 方法
      System.out.println("Overriding a start() method");
      super.start();
   }
   @Override
   public void run() {
      System.out.println("run() method ");
   }
}

输出

Overriding a start() method
run() method

相关文章