我对 java 继承感到困惑。正如我研究的那样,Java 不支持多重继承。使其完全不存在继承的菱形继承(钻石问题)。
但是,Java的每个类默认都继承了Object类,如果我们继承一个类,那么有两个继承类,第一个是Object,第二个是我们继承的类。据我所知,如果任何类继承两个或多个类,它被称为多重继承。说明java是支持多重继承的,因为它同时继承了两个类。
那为什么说java不支持多重继承,java有没有可能出现菱形问题呢?
最佳答案
由于所有 类都扩展Object
,因此根据定义,您要扩展的基类已经扩展了Object
。您的类不需要添加 Object
本身,因为它已经存在于层次结构中。
这意味着,Object
仍然只作为根在您的层次结构中存在一次,因此没有“菱形”。
关于java - Java中多重继承相关的混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13117746/