作者FreedomMax (FreedomKnight)
看板java
标题[问题] 关於String这个Class
时间Sun May 1 15:25:48 2011
不好意思唷
我有个疑问,很多人都说
宣告 String str = new String("hello");
这样的话str是一个Class
可是呀
为什麽可以把类别直接print出来
不是至少应该要印出str.xxx变数之类的吗?
不好意思 我正在学class这段
有这个疑问
希望有人能帮我解答一下
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.0.214.190
1F:→ TonyQ:所有的类别你都可以直接print出来啊,他会call toString() 05/01 15:29
2F:→ FreedomMax:那假如说里面有很多变数 他是每个变数都会印出来吗 05/01 16:50
3F:→ FreedomMax:我刚刚试着println一个class 可是显示的是XXX@152b6611 05/01 17:16
4F:→ FreedomMax:这应该是印出Class的位置吧 05/01 17:19
5F:→ kaomark:每个class都会从java.lang.Object 继承到toString() 05/01 17:37
6F:→ kaomark:那个toString()会生出可以代表这个object的String 05/01 17:38
7F:→ kaomark:如果你要它print 能直接印出物件内容之类的String() 05/01 17:42
8F:→ kaomark:就帮它override一个toString()吧 05/01 17:44
9F:→ kaomark: 多打了括号▔ 05/01 17:48
10F:→ FreedomMax:所以String 是在里面toString 里面的某个字元阵列吗 05/01 18:33
11F:→ kaomark:我好像弄错你想问什麽了 @@ 05/01 19:15
12F:→ kaomark:"为何print()知道String要怎麽印出来" 是这样吗? 05/01 19:18
13F:→ FreedomMax:没错 大概就是照样 05/01 19:56
14F:→ FreedomMax:还有就是他把我存的字串放到哪里了 查过API 05/01 19:58
15F:推 tomap41017:str是一个class String的variable才对吧~@@ 05/01 21:19
16F:→ tomap41017:至於字串存哪是String这个class该烦恼的,不是使用者 05/01 21:20
17F:→ FreedomMax:String str这不是宣告str为String这种类别的意思吗 05/01 22:22
18F:→ FreedomMax:所以是说str是String里的东西吗 05/01 22:24
19F:→ james732:str是一个String类别的物件 05/01 22:27
20F:→ FreedomMax:那println怎麽能印出一个类别呢? 05/01 23:35
21F:→ FreedomMax:我指的是印出像helloWorld这种 05/01 23:36
22F:→ FreedomMax:str 这个class是怎麽跟我传入的hello连上关系的 05/01 23:38
23F:→ james732:println(XXX); 当XXX是一个物件,就会呼叫XXX.toString() 05/01 23:38
24F:→ james732:我想问:你知道什麽是constructor吗? 05/02 00:06
25F:→ FreedomMax:是建构的那个吗 05/02 00:22
26F:推 awashharp:String类别是使用char[]这个阵列去存资料的(参考原始码) 05/02 00:45
27F:→ FreedomMax:你是怎麽参考原始码的呀 我下载 都不知道要开哪个目录 05/02 15:42
28F:推 awashharp:在j2se/src/share/classes/java/lang/String.java这里 05/02 16:13
29F:→ FreedomMax:感谢你 05/03 00:23