-1

关于Java的事实是它不支持多重继承。

但是我有一个问题,所有java类的基类都是Object。

现在我们有两个类:A 类和 B 类。 B 是从 A 继承的,那么 B 的基类将是 Object 和 A,所以这里发生了多重继承。

有人会帮我解决我的疑问吗?

4

7 回答 7

1

classB继承自 class A,而 class 又继承自Object. Object位于继承层次结构的顶部。这是多级继承,而不是多重继承。

于 2013-06-28T11:53:09.007 回答
1

意思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您基本上可以以更清洁的方式实现相同的目标。

于 2013-06-28T11:55:18.157 回答
0

Object 类是所有其他类的基类。在这里,当您从 A 类继承 B 类时,B 类不能从 Object 类继承。

public class B extends class A
{

}

在这里,A类的基类是Object类。

所以简而言之,如果我们不继承任何类,那么它的基类就是对象类。

你也可以参考这个:

http://docs.oracle.com/javase/tutorial/java/concepts/inheritance.html

于 2013-06-28T12:09:41.377 回答
0

将继承视为“是”关系。

在Java中我们可以有

狗是哺乳动物是动物

但不是

狗是哺乳动物和四足动物

哺乳动物和四足动物处于同一水平,但哺乳动物和动物处于不同水平。

我们可以有第一个但不能有第二个的原因是,如果我们知道哺乳动物以某种方式说话,动物以某种方式说话,四足动物以某种方式说话,我们就可以弄清楚狗在第一种方式中的说话方式。案例,但不是第二个。

于 2013-06-28T12:10:08.770 回答
0

A,B继承Object,所以A继承B时继承Object。

于 2013-06-28T11:53:46.873 回答
0

一个类总是只扩展一个类。即 Object 类或用 extends 关键字定义的类。反过来,该类也只能扩展一个类,直到最终到达 Object 类。

于 2013-06-28T11:55:19.113 回答
0

您描述的不是多重继承;B 继承自一个超类 A,A 继承自一个超类 Object。B 获得 A 和 Object 的属性和方法,但这是通过单个“链”继承。

多重继承是指一个类直接从多个不相关的类继承。这在 Java 中是不可能的。

于 2013-06-28T11:58:47.567 回答