1. 程式人生 > >一個類是否可以同時繼承Thread與實現Runnable介面?——可以。

一個類是否可以同時繼承Thread與實現Runnable介面?——可以。

public class Test extends Thread implements Runnable{
    public static void main(String[] args) {
        Thread t = new Thread(new Test());
        t.start();
    }
}

從上面程式碼可以看出,Test類實現了Runnable介面,但是並沒有實現介面的run( )方法,可能有些人會認為這會導致編譯錯誤,但實際它是能夠編譯通過並執行的,因為Test類從Thread類中繼承了run( )方法,這個繼承的run( )方法可以被當作對Runnable介面的實現,因此這段程式碼能夠編譯通過。當然也可以不使用繼承的run( )方法,而是需要通過在Test類中重寫run( )方法來實現Runnable介面中的run( )方法,例如:

public class Test extends Thread implements Runnable{
    public void run(){
        System.out.println("this is run()");
    }
    public static void main(String[] args) {
        Thread t = new Thread(new Test());
        t.start();
    }
}