关于Java的事实是它不支持多重继承。
但是我有一个问题,所有java类的基类都是Object。
现在我们有两个类:A 类和 B 类。 B 是从 A 继承的,那么 B 的基类将是 Object 和 A,所以这里发生了多重继承。
有人会帮我解决我的疑问吗?
关于Java的事实是它不支持多重继承。
但是我有一个问题,所有java类的基类都是Object。
现在我们有两个类:A 类和 B 类。 B 是从 A 继承的,那么 B 的基类将是 Object 和 A,所以这里发生了多重继承。
有人会帮我解决我的疑问吗?
classB
继承自 class A
,而 class 又继承自Object
. Object
位于继承层次结构的顶部。这是多级继承,而不是多重继承。
意思Multiple Inheritance
是,您可以拥有一个类 A、B 和 C,其中 A 派生自 B 和 C,如下所示:
class A extends B, C {}
这在 Java 中是不可能的。
您所描述的是具有直接后代的直截了当的继承。
class A {};
class B extends A {}
class C extends B {}
不过,您实际上并不需要多重继承,因为Interfaces
您基本上可以以更清洁的方式实现相同的目标。
Object 类是所有其他类的基类。在这里,当您从 A 类继承 B 类时,B 类不能从 Object 类继承。
public class B extends class A
{
}
在这里,A类的基类是Object类。
所以简而言之,如果我们不继承任何类,那么它的基类就是对象类。
你也可以参考这个:
http://docs.oracle.com/javase/tutorial/java/concepts/inheritance.html
将继承视为“是”关系。
在Java中我们可以有
狗是哺乳动物是动物
但不是
狗是哺乳动物和四足动物
哺乳动物和四足动物处于同一水平,但哺乳动物和动物处于不同水平。
我们可以有第一个但不能有第二个的原因是,如果我们知道哺乳动物以某种方式说话,动物以某种方式说话,四足动物以某种方式说话,我们就可以弄清楚狗在第一种方式中的说话方式。案例,但不是第二个。
A,B继承Object,所以A继承B时继承Object。
一个类总是只扩展一个类。即 Object 类或用 extends 关键字定义的类。反过来,该类也只能扩展一个类,直到最终到达 Object 类。
您描述的不是多重继承;B 继承自一个超类 A,A 继承自一个超类 Object。B 获得 A 和 Object 的属性和方法,但这是通过单个“链”继承。
多重继承是指一个类直接从多个不相关的类继承。这在 Java 中是不可能的。