在Java中工作的隐式inheritance

任何人都可以告诉我隐式inheritance如何在java内部工作?
我的意思是,如果我创建一个类,它究竟是如何扩展JVM中的Object类的?

提前致谢。

Java强制在每个类上inheritance。 如果你没有显式地从类inheritance,那么默认情况下Java假定你inheritance了名为Object的类,它没有做太多,但确实有几个有用的方法:

  1. 它意味着每个类都来自Object,因为你inheritance的任何类都必须从某些东西inheritance而来,这些东西可以是Object,也可以是从某些东西inheritance的东西等。
  2. 多态的概念意味着您可以将任何类型的对象存储在类型为Object的变量中

出于所有实际原因,您可以认为class X {class X {的语法糖class X extends Object { – 就是它。

除了Object类之外,Java中的每个类都必须有一个超类。

隐式inheritance没有什么特别之处。 它只是一个语法快捷方式,意味着您不必编写extends Object 。 在语义级别,隐式inheritance的工作方式与显式inheritance的工作方式完全相同。

实际上,这意味着每个类都从Objectinheritance某些标准方法…除非重写方法。 示例包括经常被重写的equals(Object)hashcode()toString() ,以及无法覆盖的getClass()