課程
/后端開發
/Java
/Java入門第二季 升級版
不懂,難道就是為了輸出對象的屬性么?但是這里并沒有創建Dog對象,何來的屬性
2014-12-30
源自:Java入門第二季 升級版 9-8
正在回答
反過來的話,假如沒有toString(0方法,那我們所得到的一個對象,是完全不知道里面擁有什么樣的值,只有電腦才知道,大大降低了可讀性。Dog對象是有創建的,視頻中所執行的是哪個Ini??那個類里面的main方法,那里就有Dog對象了。3-8視頻有個點,就是。。??刂婆_輸出太小有木有,導致上面還有一個父類構造方法的執行語句沒看到,會讓很多人看錯的呀。
sersad 提問者
主要是根據需求來,當默認的toString()不能滿足你對”文本方式表示此對象“時,重寫toString(),例如bean類需要在重寫的toString?方法中組織自己想要顯示的當前對象的信息。
官方文檔如下:
public String toString()
返回該對象的字符串表示。通常,toString 方法會返回一個“以文本方式表示”此對象的字符串。結果應是一個簡明但易于讀懂的信息表達式。建議所有子類都重寫此方法。
Object 類的 toString 方法返回一個字符串,該字符串由類名(對象是該類的一個實例)、at 標記符“@”和此對象哈希碼的無符號十六進制表示組成。換句話說,該方法返回一個字符串,它的值等于:
getClass().getName() + '@' + Integer.toHexString(hashCode())
返回:
該對象的字符串表示形式。
當你打印一個對象的時候,實際上是調用對象的toString()方法!
這是在類的定義階段,屬性還沒有初始化,急什么。
Dog對象是有一個age屬性的。
如果不重寫toString()方法,當執行System.out.println(new Dog())時,輸出Dog@15db9742類似這樣的內容。
如果重寫toString()方法,就會輸出return后面的內容,顯示內容更直觀
放學路上的小學生 回復 sersad 提問者
舉報
課程升級!以終為始告別枯燥,在開發和重構中體會Java面向對象編程的奧妙
4 回答為什么要重寫toString方法?
1 回答tostring方法無法重寫?
1 回答toString()方法重寫的位置
3 回答靜態方法的意義是什么?
3 回答重寫equals方法中 那個other是什么意思
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-08-24
反過來的話,假如沒有toString(0方法,那我們所得到的一個對象,是完全不知道里面擁有什么樣的值,只有電腦才知道,大大降低了可讀性。Dog對象是有創建的,視頻中所執行的是哪個Ini??那個類里面的main方法,那里就有Dog對象了。3-8視頻有個點,就是。。??刂婆_輸出太小有木有,導致上面還有一個父類構造方法的執行語句沒看到,會讓很多人看錯的呀。
2016-03-31
主要是根據需求來,當默認的toString()不能滿足你對”文本方式表示此對象“時,重寫toString(),例如bean類需要在重寫的toString?方法中組織自己想要顯示的當前對象的信息。
官方文檔如下:
public String toString()
返回該對象的字符串表示。通常,toString 方法會返回一個“以文本方式表示”此對象的字符串。結果應是一個簡明但易于讀懂的信息表達式。建議所有子類都重寫此方法。
Object 類的 toString 方法返回一個字符串,該字符串由類名(對象是該類的一個實例)、at 標記符“@”和此對象哈希碼的無符號十六進制表示組成。換句話說,該方法返回一個字符串,它的值等于:
getClass().getName() + '@' + Integer.toHexString(hashCode())
返回:
該對象的字符串表示形式。
2014-12-30
當你打印一個對象的時候,實際上是調用對象的toString()方法!
這是在類的定義階段,屬性還沒有初始化,急什么。
2014-12-30
Dog對象是有一個age屬性的。
如果不重寫toString()方法,當執行System.out.println(new Dog())時,輸出Dog@15db9742類似這樣的內容。
如果重寫toString()方法,就會輸出return后面的內容,顯示內容更直觀