
1. 什么是 Object 类?
答: Object 类是 Java 中所有类的超类。每个类都使用 Object 作为树的根,所有对象(包括数组)都实现这个类的方法。
2. Object 类中有哪些重要的方法?
答:
equals(Object obj): 检测此对象与指定对象是否相等。hashCode(): 返回对象的哈希码值。toString(): 返回对象的字符串表示形式。clone(): 创建并返回此对象的一个副本。getClass(): 返回此对象的运行时类。wait(): 在其他线程调用此对象的notify()方法或notifyAll()方法前,导致当前线程等待。notify(): 唤醒在此对象监视器上等待的单个线程。notifyAll(): 唤醒在此对象监视器上等待的所有线程。
3. equals() 和 hashCode() 方法有什么关系?
答: 在 Java 中,如果两个对象相等(即 equals() 方法返回 true),那么它们的 hashCode() 方法必须返回相同的整数值。这样做是为了优化哈希表的性能。
4. 为什么要覆盖 equals() 时也要覆盖 hashCode()?
答: 如果只覆盖 equals() 而不覆盖 hashCode(),将违反 equals() 和 hashCode() 的一致性原则,可能导致哈希表等基于哈希码的数据结构不正确地处理对象。
5. clone() 方法在使用时需要注意什么?
答: clone() 方法可以用来创建对象的浅拷贝。使用 clone() 方法时,类必须实现 Cloneable 接口,否则会抛出 CloneNotSupportedException 异常。此外,clone() 方法默认是浅拷贝,如果需要深拷贝,则需在 clone() 方法中适当处理。



















