在Java中,直接將類的對象使用system.out.println輸出,其中輸出的類的具體名和後面的一串字符,
package com.neusoft.wangx; public class MyClass { public static void main(String[] args) { MyClass2 myClass2 =new MyClass2(); System.out.println(myClass2.toString()); } } class MyClass2{ public void print(){ System.out.println("hello"); } } 輸出結果爲:com.neusoft.wangx.MyClass2@164f1d0d 就是後面這個@164f1d0d @和後面的字符串分別代表啥呢? 因爲直接輸出一個類的對象的時候,會調用這個類的toString()方法,這個方法有些類是覆蓋了的,比如String,Integer。 你自己寫的類沒有覆蓋這個方法的話就是繼承Object類的這個方法,Object中toString()方法的實現是這樣 的getClass().getName() + "@" + Integer.toHexString(hashCode()) 後面跟的是這個類的哈希碼, 如果你希望這個類打印出來輸出你希望的格式,你就要覆蓋這個、toString方法。