“java中的每个类都扩展了MetaClass对象”这是否意味着每个子类都会导致Diamond问题 [英] “every class in java extends the MetaClass Object” does it imply that every subclass causes a Diamond issue

查看:99
本文介绍了“java中的每个类都扩展了MetaClass对象”这是否意味着每个子类都会导致Diamond问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆