Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 多重继承与类对象_Java_Oop_Compiler Construction_Jvm - Fatal编程技术网

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中查找,然后在对

我对OOP很陌生。我们都知道Java不支持多重继承;但是,所有Java类都继承自
对象
,也可以继承自另一个类。我们可以把它看作多重继承吗?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从对象继承。一个类始终只有一个直接超类(对象除外,它没有任何直接超类)