0
public class A {  // Extends from `Object` class
}

class B extends A { // Extends from `A`
}

class C extends B { // Extends from `B`
}

这是否被认为是多重继承?

4

6 回答 6

3

不,这只是普通继承的两个实例。多重继承就像

class A{
}

class B{
}

class C extends A, B{
}

但是,这不是 Java 可以做到的。不允许从多个基类继承,尽管接口允许它拥有的大部分好处。

于 2013-06-23T20:54:44.717 回答
2

不。这是继承树。您不会在 Java 中找到任何用于多重继承的示例,因为它不受支持

于 2013-06-23T20:54:26.740 回答
1

回答否。

在java中只存在简单继承。

public class A {  // Extends from `Object` class
}

class B extends A { // Extends from `A`
}

class C extends B { // Extends from `B`
}

你在这里拥有的是

C 是一个 B ,B 是一个 A ,A 是一个对象

(C 是传递性的 A)

多重继承将是

C is a B and also is a D, D is an object, B is a A , A is an Object

在 java 中不允许多重继承(有多个父级)。

你可以做的是实现多个接口,在那里你可以有一种多重继承。

于 2013-06-23T20:53:04.687 回答
1

多重继承是您在 Python 中看到的:

class A(B,C,D,E,Infinity):

其中“A”一次从所有这些类继承。所以答案是否定的,因为那不是你正在做的。

于 2013-06-23T20:53:42.923 回答
1

不,你不能,正如@Reimeus 所说。

多重继承看起来像:

class A extends B, C, D, E

这在 C++ 中是允许的,但在 Java 中是不允许的。您可以有多个接口,但不能扩展多个类。

于 2013-06-23T20:55:49.467 回答
0

不,这不被视为多重继承。您描述的类层次结构实际上是单继承,因为您的每个类都仅从一个其他类继承。

多重继承发生在单个类同时从多个类继承的情况下,但这是 Java 编程语言中不可用的语言特性。尽管它可以在其他语言中使用,例如 C++。通过不允许多重继承,Java 语言设计者正在寻求避免与多重继承相关的菱形问题。

Java 类可以实现多个接口。

于 2013-06-23T20:59:45.577 回答