toString方法講解
阿新 • • 發佈:2018-11-08
重寫toString方法
1、 為什麼要重寫toString方法?
* toString方法返回該物件的字串表示,其實該字串內容就是物件的型別[email protected]+記憶體地址值。
* 由於toString方法返回的結果是記憶體地址,而在開發中,經常需要按照物件的屬性得到相應的字串表現形式,因此也需要重寫它。
* Object類中的toString的核心程式碼
getClass().getName() + "@" + Integer.toHexString(hashCode())
* 由於預設情況下的資料對我們來說沒有意義,一般建議重寫該方法。
2、案例核心程式碼(重寫Person類中的toString方法)
/* * 重寫父類的方法toString() * 沒有必要讓呼叫者看到記憶體地址 * 要求: 方法中,返回類中所有成員變數的值 */ public String toString(){ return name + age; } //Eclipse中自動生成的toString @Override public String toString() { return "Person [name=" + name + ", age=" + age + "]"; } //測試程式碼 public class TestToString { public static void main(String[] args) { //呼叫Person類的方法toString() //輸出語句中,寫的是一個物件,預設呼叫物件的toString方法 Person p = new Person("張三",20); String s = p.toString(); System.out.println(p); System.out.println(s); /* * System.out.println(p); * System.out.println(p.toString()); */ /*Random r = new Random(); System.out.println(r.toString()); Scanner sc = new Scanner(System.in); System.out.println(sc.toString());*/ } }