多重inheritance和类对象

我对OOP很新。 我们都知道Java不支持多重inheritance; 但是,所有Java类都inheritance自Object ,并且还可以从另一个类inheritance。 我们可以将其视为多重inheritance吗? Java如何处理这样的事情?

它不是多重inheritance,而是多级inheritance。 类可以扩展另一个类,它可以扩展另一个类,…,最终扩展Object:

 A --> B --> C --> Object 

多重inheritance

 A ----> B \ \--> C 

这意味着当在A中使用方法或字段时,它在A中查找,然后在B中查找,然后在C中查找,然后在Object中查找。

对于多重inheritance,必须在A中查找,然后在B和C中查找,并且可能存在冲突,因为两个超类中可能存在相同的方法或字段。

这不是多重inheritance….这是java中的多级inheritance

Excepting Object没有超类,每个类都有一个且只有一个直接超类(单inheritance)。 在没有任何其他显式超类的情况下,每个类都隐式地是Object的子类。

在此处输入图像描述

你的类扩展了其他类,但它也扩展了Object,所以你仍然在一行inheritance,而不是多重inheritance。

它称为多级inheritance。 不是多重inheritance。

它仍然是多层次的inheritance。 如果你在java中使用多重inheritance – 使用intefrace用于这些目的。

因为:

 Java support only multiple interface inheritance, and java does not support multiple inheritance 

你解释的是java中允许的多级inheritance

在此处输入图像描述

但java中不允许多重inheritance

在此处输入图像描述