关于java中的多重继承?因为Java不支持多重继承

关于java中的多重继承?因为Java不支持多重继承,java,Java,例如: 案例1:我们创建的每个Java类都会扩展对象类吗?如果是的话,那么为什么我们能够将一个以上的类扩展到我们的类可能是一个愚蠢的问题?我只是记住了这一点,我发布了这个问题。是的,每个类都会扩展对象。然而,对象不一定是直接超类。若一个子类扩展了父类,那个么子类的直接超类就是父类。在这种情况下,类层次结构是: Child < Parent < Object 所以,子对象没有多重继承。对象由其直接超类父对象传递继承。无意冒犯,但您的英语使您的问题很难阅读。不过我想我明白了。多重继承并

例如: 案例1:我们创建的每个Java类都会扩展对象类吗?如果是的话,那么为什么我们能够将一个以上的类扩展到我们的类可能是一个愚蠢的问题?我只是记住了这一点,我发布了这个问题。

是的,每个类都会扩展对象。然而,对象不一定是直接超类。若一个子类扩展了父类,那个么子类的直接超类就是父类。在这种情况下,类层次结构是:

Child < Parent < Object

所以,子对象没有多重继承。对象由其直接超类父对象传递继承。

无意冒犯,但您的英语使您的问题很难阅读。不过我想我明白了。多重继承并不是只从一个类继承的相反。您可以从多个类继承,但仍然没有多重继承

例如,如果A扩展了B,B扩展了C,C从A和B继承。但是,这里的继承是线性链,而多重继承允许树,例如A扩展了B,A扩展了C。正如您所看到的,这是不同的。在java中,可以通过传递性从任意多个类继承,但只能直接扩展一个类。

非常简单: java类的层次结构是树状的,对象是根。如果一个类不扩展任何其他类,默认情况下它会直接扩展对象。那个么扩展其他类的类呢,比如类A扩展了B。现在A扩展了B和对象。但这不是多重继承。A扩展了B,因此A也扩展了B的任何超类,包括Object。想象一下这样的继承:

                       Object
                      /   |   \
                     B   ...   SomeObject
                     |
                     A

多重继承是指试图同时继承多个类

我是说像

class Foo extends Faa, Fii {
}
这在Java中是不可能的,但我们可以做到这一点

class Faa{
} 

class Fii extends Faa{
}

class Foo extends Fii{

}

这是不一样的,在这种情况下,我们有两个父母,我的意思是Fii,因为我们是从Fii扩展而来的,Faa,因为Fii是从它扩展而来的

我投票将这个问题作为离题题来结束,因为它很容易通过搜索haha@mastah找到;阳光是最好的消毒剂。正常遗传允许树木生长。多重继承实际上允许像图一样的继承链…死亡钻石!树中节点的祖先始终是线性链,而不是树。请看我对你答案的评论。你对图表和所有的都是正确的,但是我发现更清楚地谈论祖先的线性,而不是考虑其他不相关的类,这些树形成一个树。我认为在这种情况下谈论一棵树是令人困惑的。我们感兴趣的是给定类的父类,它们实际上就是我们从中继承的类,ant在Java中从来都不是树,如果你想这样看的话。然而,整体结构是一棵树。对于多重继承,即使我们观察给定类的超类之间的关系,它仍然是一个图。假设以下关系:D,C扩展D,B扩展D,A扩展B,C。这不是树,但在允许多重继承的语言中仍然是有效的继承关系嗯,是的,父母可以为多重继承形成一个图表是的,你的权利,ricco非常感谢