作者adrianshum (Alien)
看板java
标题Re: [问题] 物件的问题
时间Fri Jan 12 10:28:54 2007
※ 引述《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