06. 详解 Java 的 Object 类和常见类
Object 类
java.lang.Object 作为所有 Java 类的祖先,编译系统默认继承 Object 类,Object 类包含了所有 Java 类的公共属性和方法。
Object()
构造方法getClass():Class<?>
public boolean equals(Object obj)
比较两对象封装的数据是否相等;而比较运算符“==”在比较两对象变量时,只有当两个对象引用指向同一对象时才为真值。hashCode()
public String toString()
该方法返回对象的字符串描述,建议所有子类都重写此方法。如果没有覆盖toString()方法,默认的字符串是 “类名@对象的十六进制哈希码”wait()
,wait(long)
,wait(long, int)
让当前线程进入阻塞状态notify()
,notifyAll
唤醒阻塞状态的线程protected Object clone()
克隆对象protected void finalize()
该方法 Java 垃圾回收程序在删除对象前自动执行。不建议开发者直接调用
hashCode 方法的说明
哈希码(hashCode),每个 Java 对象都有哈希码(hashCode)属性,哈希码可以用来标识对象,提高对象在集合操作中的执行效率。
小技巧:为了减轻书写重复 equals 和 hashCode 代码的负担,不建议手巧,而是可借助 IDEA 自动的生成功能和一些公共的类库进行辅助工作,例如使用 google/guava: Google core libraries for Java 来做生成这两方法。