在Java中,他们说不支持多重继承。事实上,Java中的每个类都扩展了Object类。所以,如果我写:
public class ThreadInstance extends Thread {
}
这是如何编译的?这里的ThreadInstance实际上是扩展Thread和Object。这里不是多重继承。
答案 0 :(得分:1)
通过多重继承,您应该了解同时继承多个类,例如创建
是不可能的public class ThreadInstance extends Thread, Object {
}
因为类层次结构如下所示:
ThreadInstance
^ ^
Thread Object
当你像{I}}那样定义ThreadInstance
时,ThreadInstance
也会继承Object
,但首先会继承线程。
ThreadInstance
^
Thread
^
Object
那里没有多重继承。
答案 1 :(得分:0)
您的类已扩展Thread
,但Thread
已扩展Object
,因此它仍然是单继承,因为它遵循相同的继承行
Object
隐式。在ThreadInstance
课程中,Thread
明确继承。
因此除Object
之外的每个Java类都必须具有超类。关于隐式继承没有什么特别之处,它只是减少样板代码。
答案 2 :(得分:0)
你的类扩展了其他类,但它也扩展了Object,所以你仍然在一行继承中,而不是两行。
EG。 ThreadInstance扩展了Thread,但是Thread依次扩展了Object,所以我说ThreadInstance扩展了Object。