Scenario of extending Thread class and implementing Runnable interface
本问题已经有最佳答案,请猛点这里访问。
我对Java编程很感兴趣,因此这是一个基本问题。(我查过了,但找不到以前问过的这个问题)
我了解到线程可以通过继承线程类或实现可运行接口来创建。我看到了一个代码,两个都属于同一个类。
我在想什么样的情况下会想要这个,如果有任何优势,这是什么。
扩展
在这种特定的情况下,它不是很有用,因为其他海报已经解释了,很明显,
在某些情况下,"说明明显的"可能很有用,就像对类的用户的一个"提示":如果您有一个相当大的超级类和接口层次结构,具有多个继承级别(其中一些在第三方库中),那么将类声明为实现特定接口(即使是在H它通过定义实现它,因为它的超类已经实现了它或者实现了该接口的一个子类。
它对标记接口特别有用(有些人可能会反对它们根本不应该被使用,而且它们是不好的实践——好吧,有时你不能完全控制环境),也就是说,没有实际实现的接口,只是设计用来标记你的对象符合特殊功能(如
不,使用这种方法没有好处,因为线程类实现了可运行的接口。所以,如果类扩展了线程类。这意味着,它还实现了可运行的接口。
当您需要更灵活地扩展其他基类时,最好实现可运行接口。
可运行接口意味着将一个作业分配给多个线程当线程类时,每个线程都有一个与之关联的唯一对象。