Java 多重继承与类对象
我对OOP很陌生。我们都知道Java不支持多重继承;但是,所有Java类都继承自Java 多重继承与类对象,java,oop,compiler-construction,jvm,Java,Oop,Compiler Construction,Jvm,我对OOP很陌生。我们都知道Java不支持多重继承;但是,所有Java类都继承自对象,也可以继承自另一个类。我们可以把它看作多重继承吗?Java是如何处理这种事情的?它不是多重继承,而是多级继承。类可以扩展另一个类,该类可以扩展另一个类,…,该类最终扩展对象: A --> B --> C --> Object 多重继承将是 A ----> B \ \--> C 这意味着,当在a中使用方法或字段时,会在a中查找,然后在B中查找,然后在C中查找,然后在对
对象
,也可以继承自另一个类。我们可以把它看作多重继承吗?Java是如何处理这种事情的?它不是多重继承,而是多级继承。类可以扩展另一个类,该类可以扩展另一个类,…,该类最终扩展对象:
A --> B --> C --> Object
多重继承将是
A ----> B
\
\--> C
这意味着,当在a中使用方法或字段时,会在a中查找,然后在B中查找,然后在C中查找,然后在对象中查找
对于多重继承,必须先在A中查找,然后在B和C中查找,可能会发生冲突,因为两个超类中可能存在相同的方法或字段。这不是多重继承……在java中是多级的。 除了没有超类的Object之外,每个类都有一个且只有一个直接超类(单继承)。在没有任何其他显式超类的情况下,每个类都隐式地是Object的子类
您的类扩展了另一个类,但它也扩展了对象,所以您仍然处于一行继承中,而不是多重继承中
它称为多级继承。不是多重继承。它仍然是多级继承。如果您想在java中使用多重继承,请使用intefrace实现这些目的 因为:
Java support only multiple interface inheritance, and java does not support multiple inheritance
您所解释的是java中允许的多级继承 但是java中不允许多重继承
如果我们有一个不从任何类继承的类,则该类默认从类对象继承。但是如果我们有从类B继承的类a,则类a从B继承,而对象是因为B从B继承。这就是您的意思??不。类a从B继承,B从对象继承。一个类始终只有一个直接超类(对象除外,它没有任何直接超类)