java - 何时将对象类添加为父类(super class)?

标签 java inheritance jvm jvm-languages

<分区>

我正在浏览 Object 类 JAVA-docs,正如我们所知,Object 是所有类的基类。但我想知道,何时将 Object 类添加为父类(super class)? 它是编译时还是运行时(理想情况下应该在编译时)?

此外,正如我所读,JVM 会自动检查一个类是否从父类继承,然后它不会将 Object 添加为父类(super class)以避免继承菱形继承(钻石问题),但是在抽象类/内部类的情况下会发生什么? 在哪里添加父类(super class)对象?

在创建任何新的内置对象示例 HashMap 时,我们可以从源代码中看到内部工作,同样,是否可以在 Java 源代码中的任何地方看到此功能,或者它是由编译器在内部完成的?

最佳答案

如果您不指定父类(super class),则默认java.lang.Object。父类(super class)是在编译时确定的。在 abstract(innerstatic)类的情况下,没有显式父类(super class)型;父类(super class)型是 java.lang.Object

关于java - 何时将对象类添加为父类(super class)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42324539/

相关文章:

c# - 当 "sealed"是可选的时,C# 中 "virtual"的用途是什么?

c# - 接口(interface)疑惑问题

java - 监控和分析 java 中的类加载器

java - 如何调整 jvm 使其崩溃而不是英勇地 GC 直到 100% CPU 利用率?

java - Spring 3.1 实现中的 @Cacheable 与 JSF 不兼容?

java - 如何在 JGit 中运行 "git rebase -i --root"?

ios - Swift SKSpriteNode 类未将触摸注册到 GameScene

java - 从blackberry eclipse项目调用.NET Web服务错误

java - 读取和更新 XML 节点元素

java - -XX :-TieredCompilation do? 究竟是什么