我们可以覆盖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