作者zanyking (遥远的旅人)
看板java
标题Re: [问题] 请问toString的观念
时间Tue Apr 25 09:47:16 2006
※ 引述《[email protected] (小树=小天)》之铭言:
: 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