Java中允许对象类的多重继承吗?
在Java中,他们说不支持多重继承。事实上,Java中的每个类都扩展了类对象。所以如果我写:Java中允许对象类的多重继承吗?,java,object,multiple-inheritance,Java,Object,Multiple Inheritance,在Java中,他们说不支持多重继承。事实上,Java中的每个类都扩展了类对象。所以如果我写: public class ThreadInstance extends Thread { } 这是如何编译的?这里的ThreadInstance实际上是在扩展线程和对象。这里不是多重继承吗。您的类扩展了线程,但是线程已经扩展了对象,所以它仍然是单一继承,因为它遵循相同的继承线 对象由每个类隐式继承。在ThreadInstance类中,Thread被显式继承 因此,除了对象之外,每个Java类都必须有一
public class ThreadInstance extends Thread {
}
这是如何编译的?这里的ThreadInstance实际上是在扩展线程和对象。这里不是多重继承吗。您的类扩展了
线程
,但是线程
已经扩展了对象
,所以它仍然是单一继承,因为它遵循相同的继承线
对象
由每个类隐式继承。在ThreadInstance
类中,Thread
被显式继承
因此,除了
对象
之外,每个Java类都必须有一个超类。隐式继承没有什么特别之处,只是为了减少样板代码。通过多重继承,您应该了解同时继承多个类,例如,不可能创建一个
public class ThreadInstance extends Thread, Object {
}
因为类层次结构如下所示:
ThreadInstance
^ ^
Thread Object
当您像以前那样定义ThreadInstance
时,ThreadInstance
也继承对象,但它首先继承线程
ThreadInstance
^
Thread
^
Object
这里没有多重继承。您的类扩展了另一个类,但它也扩展了对象,所以您仍然处于一行继承中,而不是两行继承中
例如。
ThreadInstance扩展线程,但线程反过来扩展对象,所以我不能说ThreadInstance扩展对象