Re: [問題] 物件的問題

看板java作者 (Alien)時間19年前 (2007/01/12 10:28), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/3 (看更多)
※ 引述《fungi8210 (開始投履歷摟!!)》之銘言: : System.out.println 這一個 method 如果你傳 object 進去而沒有 : 呼叫任何的 method, 他 default 會呼叫 toString() 這個 method. : ※ 引述《idman (9527)》之銘言: [43] : : return "point1:" + pt1 + ",point2:" + pt2; [43] : : System.out.println("line1 = " + line1); [43] : : System.out.println("line1 = " + line1); : : } : : } : : 我的問題是 當中並沒有呼叫 toString()這個函數 : : 請問為什麼會執行到當中的值呢 你說得沒有錯, 但在原問者的情況, 並不是 println 收到一個 Object的情況, 而是 String concatenation 時, Object 的部份 會 invoke 其 toString 再用其 return String 作 concat (再詳細一點的話, String concat 其實背後是 StringBuffer append(), 而 append() 如果 是傳入 Object 則會 invoke toString()) Aliens -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 202.72.0.45
文章代碼(AID): #15fl9dTK (java)
文章代碼(AID): #15fl9dTK (java)