java - “every class in java extends the MetaClass Object” 是否意味着每个子类都会导致 Diamond 问题

标签 java inheritance fact

java中的这两个事实

事实 1

默认情况下,java 中的每个类都扩展了 java 元类 Object

事实 2

java 中不允许多重继承”在这里阅读更多关于菱形问题的信息 Java inheritance

很安静

假设 ClassB 扩展 ClassA 然后根据 fact1 ClassB 扩展 Object

enter image description here

这是否意味着 ClassB 正在扩展 ClassAObject?是多重继承的情况吗?

如果不是多重继承那这两个说法怎么不矛盾呢?

最佳答案

“Every class in java by default extends the java meta class Object” //fact1

每个类都扩展 Object 类,只有当它们不直接扩展任何其他类时

如果一个类 Test 扩展了另一个 Sample 类,那么 Test 不要直接扩展 Object 类,但是,通过父类(super class) Sample 继承了 Object 类的行为,它直接扩展了 Object 类。

关于java - “every class in java extends the MetaClass Object” 是否意味着每个子类都会导致 Diamond 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22881645/

相关文章:

C/找到190! C 编程中的(阶乘)

c# - flusassertion 无法编译

java - 连接交易客户端和交易服务器的最佳方式

java - 替换 long 的最后一位数字的最高效(也最安全)的方法是什么?

java - Android如何以编程方式调整(缩放)xml vector 图标的大小

java - 不带参数的继承构造函数

java - 从类名创建类实例

c++ - 如何正确继承析构函数不是虚拟的基类?

Ruby 类变量

java - JBoss Drools 工作内存的多项事实