Java不支持多重继承,但Object类默认是所有类的超类。 e.g
class Object
{
}
class B
{
}
class A extends B
{
}
A类可以访问B和Object的所有方法。这不是多重继承的例子吗? 因此,Java不支持多重继承是正确的。
我的问题是找不到多级和多重继承之间的区别。 Java Docs,它自称:Class Object是类层次结构的根。每个类都将Object作为超类。所有对象(包括数组)都实现此类的方法。 所以它意味着Class Object是A类的超类{前一个例子}。 但B级也是A级超级。 那是什么意思呢?
答案 0 :(得分:7)
答案 1 :(得分:7)
查看传递继承之间的区别(C
直接从B
继承并从A
传递):
和多个继承(C
继承自A
和B
):
答案 2 :(得分:4)
不,不是。多重继承是指类具有多个直接基类,如:
class A {}
class B {}
// not valid Java
class C extends A, B {}
一个类可能有许多间接基类,每个类只有一个直接基类,如:
class D extends A {}
class E extends D {}
class F extends E {}
这里的继承层次结构是F - > E - > D - > A - >对象,但这仍然是单继承。
答案 3 :(得分:1)
由于没有Java类可以直接扩展两个或更多类,因此可以肯定地说Java不支持多重继承。
如果您能够说 A类扩展B,C ,您将拥有多重继承,但您永远不能这样做。