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

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

為啥這樣寫還是輸出的是地址?

package com.imoic;


public class Initail {

/**

*?

*/

public static void main(String[] args) {

Dog dog=new Dog();

System.out.println(dog.tostring());

}

為什么要在dog那個方法里面去寫tostring,這樣寫不是一樣可以嗎?


}


正在回答

2 回答

樓上的回答 就很皮

只說了一半。

馬老師來告訴你具體原因:因為啊,Object類的toString()方法,就是返回一個地址啊。你直接調用toString()方法,是調用Object類的toString()方法。因此我們需要在自己定義的類中,重寫toString()方法。來達到返回字符串的目的。

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

s首先,如果是System.out.println() 輸出對象,java會默認調用一個對象的toString()

所以 dog 和dog.toString() 效果是一樣的

但是,可能你理解有偏差!

所謂重寫,是在繼承的基礎上,去改寫父類的方法

如果直接調用dog.toString() 方法,那么使用的是父類的繼承來的方法

一定是要理解重寫的意思,首先是要由繼承,然后重寫父類方法!

System.out.println(dog.tostring()); 這個外部調用,只是調用了父類方法而已,因為你在dog類中沒有重寫從

Object 類繼承的toString() 方法

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

舉報

0/150
提交
取消

為啥這樣寫還是輸出的是地址?

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

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

幫助反饋 APP下載

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

公眾號

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