我们可以在 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 千 +浏览

开启你的 职业生涯

通过完成课程获得认证

开始吧
广告
© . All rights reserved.