Java 中的宇宙超类

2025年5月12日 | 阅读 3 分钟

在 Java 中,Object是所有 Java 类的父类。每个 Java 类都是 Java Object 类的直接或间接子类。因此,每个 Java 类都继承了 Object 类。所以,我们不需要写以下语句来继承类。

子类内部继承了 Object 类的所有方法。因此,我们可以说Object 类是 Java 中的宇宙超类。该类属于 java.lang 包。

Java Object 类:宇宙超类

  • Object 类型的变量可用于引用任何类型的对象。
  • Object 类的 equals() 方法测试两个对象是否指向同一内存。
  • 如果我们要定义自己的对象相等性,请重写 equals() 方法。
  • 重写 toString() 方法以表示类的打印输出。
  • 当对象通过“+”运算符连接到 String 时,Java 编译器会调用 toString() 方法。
  • Object 类定义了 toString() 方法,用于打印类名和对象的内存地址。
  • toString() 方法是用于跟踪调试的强大工具。

如果我们想引用任何类型未知的对象,可以使用 Object 类。请注意,父类引用变量可以引用子类对象,这种机制称为向上转型。

Object 类提供了所有对象的一些通用行为方法,例如比较两个对象、创建对象的克隆、对象的通知等。

宇宙超类(Object 类)的四个最重要的方法如下:

方法描述
String toString()返回对象的字符串表示形式。
boolean equals(Object obj)检查对象的相等性。请注意,该方法不比较两个对象的*内容*,而是比较两个变量的*引用*。
Object clone()创建对象的副本。
int hashCode()返回整个整数范围内的整数。

让我们看一个示例。

ObjectComparison.java

输出

false
false
true

在上面的程序中,请注意我们没有扩展 Java Object 类,而是使用了 Object 类的 equals() 方法。

让我们看另一个例子。

ToStringExample.java

输出

The sum of integers is: 
The sum is: 150
ToStringExample@490d6c15

在上面的示例中,我们也使用了 Object 类的 toString() 方法,而没有扩展该类。

因此,Java Object 类被称为宇宙超类。