亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

toString()方法重寫的意義是什么?

不懂,難道就是為了輸出對象的屬性么?但是這里并沒有創建Dog對象,何來的屬性

正在回答

4 回答

反過來的話,假如沒有toString(0方法,那我們所得到的一個對象,是完全不知道里面擁有什么樣的值,只有電腦才知道,大大降低了可讀性。Dog對象是有創建的,視頻中所執行的是哪個Ini??那個類里面的main方法,那里就有Dog對象了。3-8視頻有個點,就是。。??刂婆_輸出太小有木有,導致上面還有一個父類構造方法的執行語句沒看到,會讓很多人看錯的呀。http://img1.sycdn.imooc.com//57bd681100011ca511430220.jpg

0 回復 有任何疑惑可以回復我~
#1

sersad 提問者

非常感謝!
2016-11-30 回復 有任何疑惑可以回復我~

主要是根據需求來,當默認的toString()不能滿足你對”文本方式表示此對象“時,重寫toString(),例如bean類需要在重寫的toString?方法中組織自己想要顯示的當前對象的信息。

官方文檔如下:

public String toString()

返回該對象的字符串表示。通常,toString 方法會返回一個“以文本方式表示”此對象的字符串。結果應是一個簡明但易于讀懂的信息表達式。建議所有子類都重寫此方法。

Object 類的 toString 方法返回一個字符串,該字符串由類名(對象是該類的一個實例)、at 標記符“@”和此對象哈希碼的無符號十六進制表示組成。換句話說,該方法返回一個字符串,它的值等于:

getClass().getName() + '@' + Integer.toHexString(hashCode())


返回:

該對象的字符串表示形式。

0 回復 有任何疑惑可以回復我~

當你打印一個對象的時候,實際上是調用對象的toString()方法!

這是在類的定義階段,屬性還沒有初始化,急什么。

0 回復 有任何疑惑可以回復我~

Dog對象是有一個age屬性的。

如果不重寫toString()方法,當執行System.out.println(new Dog())時,輸出Dog@15db9742類似這樣的內容。

如果重寫toString()方法,就會輸出return后面的內容,顯示內容更直觀

0 回復 有任何疑惑可以回復我~
#1

sersad 提問者

但是這時候并沒有創建Dog對象啊
2015-01-01 回復 有任何疑惑可以回復我~
#2

放學路上的小學生 回復 sersad 提問者

一個包下有好幾個呀
2015-05-07 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Java入門第二季 升級版
  • 參與學習       531144    人
  • 解答問題       6326    個

課程升級!以終為始告別枯燥,在開發和重構中體會Java面向對象編程的奧妙

進入課程

toString()方法重寫的意義是什么?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號