我对面向对象编程(OOP)的了解不多。我们都知道Java不支持多重继承;然而,所有Java类都继承自Object
,也可以从另一个类继承。我们能把这看作是多重继承吗?Java是如何处理这样的事情的?
我对面向对象编程(OOP)的了解不多。我们都知道Java不支持多重继承;然而,所有Java类都继承自Object
,也可以从另一个类继承。我们能把这看作是多重继承吗?Java是如何处理这样的事情的?
A --> B --> C --> Object
多继承是指一个类可以从多个父类继承属性和方法。
A ----> B
\
\--> C
这意味着当一个方法或字段在A中被使用时,它首先在A中查找,然后在B中查找,接着在C中查找,最后在Object中查找。
如果使用多重继承,则必须在A中查找,然后在B和C中查找,但可能存在冲突,因为相同的方法或字段可能存在于两个超类中。
这不是多重继承,而是Java中的多级继承
除了Object类没有超类外,每个类只有一个直接超类(单一继承)。在没有任何其他显式超类的情况下,每个类都隐式地是Object的子类。
这仍然是多级继承。如果您想在Java中使用多重继承,请使用接口来实现。
因为:
Java support only multiple interface inheritance, and java does not support multiple inheritance
您的类继承了另一个类,但它也继承了Object类,因此您仍然处于单一继承层次结构中,而不是多重继承。
这被称为多层继承,而不是多重继承。