4.5 Java中Object类
在Java中,所有的类都隐式地继承自java.lang.Object
类,这是Java语言的根类。Object
类位于类继承层次结构的顶端,因此它是所有类的最终父类。这意味着所有类都继承了Object
类的方法和属性。
Object
类的方法
Object
类提供了几个非常重要的方法,这些方法在Java编程中经常使用:
-
equals(Object obj)
:检查传递的对象与当前对象是否相等。默认实现比较的是引用地址,但通常需要重写这个方法以提供实际的相等性逻辑。 -
hashCode()
:返回对象的哈希码值。通常在重写equals
方法时,也需要重写hashCode
方法,以确保相等的对象有相同的哈希码。 -
clone()
:创建并返回对象的一个副本。这个方法是一个受保护的方法,并且大多数情况下需要被重写以实现具体的复制逻辑。 -
toString()
:返回对象的字符串表示。默认返回类名@符号和哈希码的十六进制表示,通常需要重写这个方法以提供更有意义的信息。 -
finalize()
:在对象被垃圾回收器回收前调用,用于清理资源。但这个方法不推荐使用,因为Java 9开始已经过时。 -
getClass()
:返回运行时类的Class
对象。 -
notify()
、notifyAll()
和wait()
:这些方法是用于多线程之间的协作。
代码案例
public class TestObjectMethods {
public static void main(String[] args) {
Object obj = new Object();
System.out.println("Object's hash code: " + obj.hashCode());
System.out.println("Object's string representation: " + obj.toString());
System.out.println("Object's class: " + obj.getClass().getName());
}
}
流程图
下面是描述上述代码案例的流程图:
说明
- 创建Object对象:在
TestObjectMethods
类中,创建了一个Object
实例。 - 调用hashCode方法:获取并打印对象的哈希码。
- 调用toString方法:获取并打印对象的字符串表示。
- 调用getClass方法:获取并打印对象的类名。
Object
类是Java中非常重要的一个类,它定义了所有对象都具有的基本方法。通过继承Object
类,所有的Java对象都继承了这些方法,这为编写通用的代码提供了便利。