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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么打印對象的時候調用的是toString()方法?

為什么打印對象的時候調用的是toString()方法?

道臨 2016-07-20 10:48:52
例如:package?k; public?class?Animal?{ public?int?age=10; public?Animal(){ System.out.println("animal?class?is?running"); } }package?k; public?class?Dog?extends?Animal?{ public?Dog(){ System.out.println("dog?class?is?running"); } }package?k; public?class?HelloWorld?{ public?static?void?main(String[]?args){ Dog?dog=new?Dog(); System.out.println(dog); } }結果:animal?class?is?running dog?class?is?running k.Dog@1db9742打印dog對象時有那么多方法不用,為什么只打印了toString()
查看完整描述

4 回答

已采納
?
Raelovejava

TA貢獻10條經驗 獲得超6個贊

不明白你問的是什么…toString方法是Object類的方法,所有類都從Object類繼承。在參數是一個對象時,會首先調用該對象的toString方法

查看完整回答
2 反對 回復 2016-07-20
?
KevinHY

TA貢獻4條經驗 獲得超3個贊

Java中輸出一個類的對象的時候,會調用這個Object類的toString()方法。自己寫的類沒有覆蓋這個方法的話就是繼承Object類的這個方法,Object中toString()方法的實現是這樣的:getClass().getName() + "@" + Integer.toHexString(hashCode())。后面跟的是這個類的哈希碼值,如果希望這個類打印出你希望的格式,你就要覆蓋toString方法,按照你自己想要的格式對toString()方法進行重寫。

查看完整回答
3 反對 回復 2016-07-20
?
笑攬清溪月

TA貢獻4條經驗 獲得超7個贊

打印對象信息時,會調用toString方法。現在的Dog類中的方法是構造方法,創建對象時調用該方法。

查看完整回答
反對 回復 2016-07-20
?
大咪

TA貢獻785條經驗 獲得超332個贊

打印對象我記得好像只能用toString方法吧- -,你這段程序的目的在于告訴你,如果打印輸出子類,先運行的會是父類,然后再運行子類結果。。至于你說的那個我沒太懂- -。。

查看完整回答
反對 回復 2016-07-20
  • 4 回答
  • 0 關注
  • 3605 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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