这被认为是多重继承

时间:2013-06-23 20:51:37

标签: java multiple-inheritance

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

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

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

这被认为是多重继承吗?

6 个答案:

答案 0 :(得分:3)

没有。这只是普通继承的两个实例。多重继承类似于

class A{
}

class B{
}

class C extends A, B{
}

然而,这不是可以在Java中完成的事情;虽然接口允许它具有的大部分好处,但不允许从多个基站继承。

答案 1 :(得分:2)

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

答案 2 :(得分: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中不允许多重继承(具有多个父级)。

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

答案 3 :(得分:1)

您可以在Python中看到多重继承:

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

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

答案 4 :(得分:1)

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

多重继承看起来像:

class A extends B, C, D, E

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

答案 5 :(得分:0)

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

多个继承发生在单个类同时从多个类继承的情况下,但这是Java编程语言中不可用的语言功能。虽然它可以用其他语言提供,例如C ++。不允许Java语言设计者试图避免与多重继承关联的diamond problem的多重继承。

Java类可以实现多个接口。