Re: [問題] 請問toString的觀念
※ 引述《Itsuki.bbs@henry.twbbs.org (小樹=小天)》之銘言:
: toString()這個method在Object物件裡頭就有了,所以不管你有沒有
: 改寫這個method,都是呼叫到Object的toString()
: 至於為什麼會是一堆你看不到的字元,那是因為印出來的字串是指該tom物件實體
: 所存在的記憶體位址
: 為什麼tom和tom.toString()一樣..我覺得這是compiler幫您做掉的動作..
: 也就是當您用println(tom)時..compiler會自動幫您呼叫tmo.toString()
: 就像"abc"+1234在println()裡頭是一樣的作法..
這裡應該不是Compiler幫你作,而是System.out的Print(Object obj)方法本身內部
實做時就是用obj.toString()來取得輸出的內容:
public void print(Object obj)
{
write(String.valueOf(obj));
}
而String.valueOf(obj)實際的操作長這樣:
public static String valueOf(Object obj)
{
return (obj == null) ? "null" : obj.toString();
}
Trace API Source Code其實是很有趣的事情,特別是Eclipse對需要作這種事情的人
來說實在是太好用了。
不過,看Doc理解物件的行為跟規則是很重要的技巧,不然對於沒有Source的Library
你就一點辦法也沒有了。
迷之聲:(所以,openSource是好物。)
--
JAVA 是一個靜態型別reference指定、強物件型別判定的語言。
屬於類C/C++族。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.248.27.110
討論串 (同標題文章)
java 近期熱門文章
PTT數位生活區 即時熱門文章