【问题标题】:Is that Considered Multiple Inheritance [duplicate]是否考虑多重继承[重复]
【发布时间】:2013-06-23 20:51:36
【问题描述】:
public class A { // Extends from `Object` class
}
class B extends A { // Extends from `A`
}
class C extends B { // Extends from `B`
}
这算不算多重继承?
【问题讨论】:
标签:
java
multiple-inheritance
【解决方案1】:
没有。这只是普通继承的两个实例。多重继承就像
class A{
}
class B{
}
class C extends A, B{
}
但是,这不是 Java 可以做到的;不允许从多个基类继承,尽管接口允许它的大部分好处。
【解决方案2】:
没有。这是继承树。您不会在 Java 中找到任何用于多重继承的示例,因为它不受支持
【解决方案3】:
回答NO。
在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 中不允许多重继承(有多个父级)。
你可以做的是实现多个接口,在那里你可以有一种多重继承。
【解决方案4】:
多重继承是你在 Python 中看到的:
class A(B,C,D,E,Infinity):
其中“A”一次从所有这些类继承。所以答案是否定的,因为那不是你正在做的事情。
【解决方案5】:
不,你不能,正如@Reimeus 所说。
多重继承看起来像:
class A extends B, C, D, E
这在 C++ 中是允许的,但在 Java 中是不允许的。你可以有多个接口,但不能扩展多个类。
【解决方案6】:
不,这不被视为多重继承。您描述的类层次结构实际上是单继承,因为您的每个类都仅从一个其他类继承。
多重继承发生在单个类同时从多个类继承的情况下,但这是 Java 编程语言中不可用的语言特性。尽管它可以在其他语言中使用,例如 C++。通过不允许多重继承,Java 语言设计者正在寻求避免与多重继承相关联的diamond problem。
一个Java类可以实现多个接口。