我为什么要使用Runnable而不是Thread?

Lud*_*ena 6 java

我只是学习关于线程的理论.还有Thread和Runnable.

class A extends Thread{
    public void run(){
            while(true) {
                System.out.println("Hi");
            }           
        }
    }
Run Code Online (Sandbox Code Playgroud)
class B implements Runnable{
    public void run(){
        System.out.println("Hi");
    }
}
Run Code Online (Sandbox Code Playgroud)

线程很好用丰富的API,为什么我会使用Runnable而不是Thread?

谢谢.

Dha*_*uka 12

1. Java不支持多重继承,这意味着你只能扩展一个Java类,所以一旦扩展了Thread类,你就失去了机会,无法在java中扩展(继承)另一个类.

2.在OOP中,扩展类通常意味着添加新功能,修改或改进行为.如果您没有进行任何修改Thread,请改用Runnableinterface.

3.实现Runnable使您的课程更加灵活(您可以实现多个界面).