Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

สามารถ Override เมธอด start() ใน Java ได้หรือไม่?


ได้ เราสามารถ 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