“java中的每个类都扩展了MetaClass对象”这是否意味着每个子类都会导致Diamond问题 [英] “every class in java extends the MetaClass Object” does it imply that every subclass causes a Diamond issue
问题描述
java中的这两个事实
These two facts in java
事实1
默认情况下java中的每个类扩展java元类对象
和
事实2
java中不允许多重继承在此处阅读有关钻石问题的更多信息 Java继承
"Multiple inheritance is not allowed in java" read more about diamond proble here Java inheritance
安静混乱
假设 ClassB
扩展 ClassA
然后根据fact1 ClassB
extends Object
Suppose ClassB
extends ClassA
then according to fact1 ClassB
extends Object
这是否意味着 ClassB
是扩展 ClassA
和对象
?这是多重继承的情况吗?
Does that mean ClassB
is extending both ClassA
and Object
? Is it a case of multiple inheritance?
如果它不是多重继承那么两个语句怎么不矛盾呢?
If it’s not multiple inheritance then how aren't the two statements contradictory?
推荐答案
java中的每个类默认扩展java元类对象
// fact1
"Every class in java by default extends the java meta class Object" //fact1
每个类扩展对象
类,仅当它们不直接扩展任何其他类时。
如果类测试
扩展另一个 Sample
类,然后测试
不直接扩展 Object
类,但是,通过超类继承Object类行为 Sample
,它直接扩展 Object
class。
If a class Test
extends another Sample
class, then Test
don't extends Object
class directly, but, inheriting the Object class behaviors through super class Sample
, which directly extends Object
class.
这篇关于“java中的每个类都扩展了MetaClass对象”这是否意味着每个子类都会导致Diamond问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!