一个类是否可以同时继承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();
    }
}

你可能感兴趣的:(java基础)