为什么 java 中的每个 class 都是对象的子class?

why every class in java is a subclass of object?

java.lang 包中的对象 class 位于 class 层次结构树的顶部。每个 class 都是对象 class 的直接或间接后代。您使用或编写的每个 class 都继承了 Object 的实例方法。 为什么我们需要一个 class,它是 java 中所有其他 class 的超级 class?

在所有类型中有一个共同的 behavior/interface 用于比较等操作是很有用的。

当您想要创建包含或可以包含不同类型的数组或其他集合时,它也很有用。

Object 作为所有 Java class 的隐式基础 class 可以帮助您编写不依赖于精确类型的代码,例如集合,一个 class 产生字符串表示,等等。请参阅 java.lang.Object 的文档以获取每个 class 支持的方法列表 "out of the box"。

这绝不是所有 语言的必需特性:还有其他语言没有强制性的公共子class。这样做是语言设计者的选择。

因为 Java 就是这样设计的。 Java 将所有内容(原始对象除外)都视为一个对象,包括您自定义的对象。

使所有新创建的 类 从 Object 扩展是一个优势。它允许公共方法和属性在创建新对象时自动可用。

一些常用的方法例如:toString()equals()..等