ได้ เราสามารถ override เมธอด start() ของคลาส Thread ใน Java ได้ ต้องเรียก super.start() เพื่อสร้างเธรดใหม่ และเรียก run() ในเธรดที่สร้างใหม่นั้น หากเรียก run() โดยตรงจากใน start() จะทำงานในเธรดเดิมเหมือนเมธอดทั่วไป ไม่ใช่เธรดใหม่
ตัวอย่าง
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