每個 Java 對象在內存中都有一個地址哈希值(十六進制)。理解 Object 類的核心方法對掌握 Java 基礎至關重要。
類名@哈希值 格式(如 ObjectDemo@26f04d94)Class),是反射的入口最佳實踐:通常應重寫 toString() 方法,輸出有業務意義的對象狀態信息,而非默認的內存地址。
以下代碼展示了 toString() 內部實現原理——通過反射獲取類名與哈希值:
public class ObjectDemo {
public static void main(String[] args) {
ObjectDemo od = new ObjectDemo();
// 默認 toString() 輸出
System.out.println(od.toString()); // ObjectDemo@26f04d94
// 手動拆解:哈希值轉十六進制
System.out.println(Integer.toHexString(od.hashCode())); // 26f04d94
// 反射方式重現 toString() 邏輯
Class c = od.getClass();
System.out.println(c.getName() + "@" + Integer.toHexString(od.hashCode()));
// 輸出:ObjectDemo@26f04d94
}
}

toString() 格式:getClass().getName() + '@' + Integer.toHexString(hashCode())Class 對象) 是框架開發、動態代理、註解處理的基石toString()、equals()、hashCode()