Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Có thể ghi đè phương thức start() trong Java không?

Có, chúng ta có thể ghi đè phương thức start() của lớp Thread trong Java. Chúng ta phải gọi super.start() để tạo luồng mới và gọi phương thức run() trong luồng mới đó. Nếu gọi trực tiếp run() từ trong start() của chúng ta, nó sẽ chạy trong luồng hiện tại như một phương thức bình thường, không phải trong luồng mới.

Ví dụ

public class ThreadTest { 
    public static void main(String[] args) { 
        MyThread t = new MyThread(); 
        t.start(); 
    } 
} 

class MyThread extends Thread { 
    @Override 
    public void start() { // ghi đè start() 
        System.out.println("Overriding a start() method"); 
        super.start(); 
    } 
    @Override 
    public void run() { 
        System.out.println("run() method "); 
    } 
}

Kết quả

Overriding a start() method run() method