作者adrianshum (Alien)
看板java
标题Re: [问题] 对java的一些疑问...
时间Mon Mar 1 11:01:14 2010
※ 引述《WPC001 (突然觉得自己是孤独的...)》之铭言:
: OK... 一些概念大至澄清了, 但又有新的疑问
: 再重复一次, 看看观念是否有误会到
: 1. int / double 会 casting成Int / Double的物件, 然後
: int varA = 5;
: double varB = 1.0;
: Object o1 = varA;
: Object o2 = varB;
: 这样是OK的?
OK 的
: 2. Java并非全是物件/类别, 也分成 primitive 和 reference type
: 那 varA.ToString()是...? 我该称ToString()为"方法"?
其实这个应该是以 JDK5 入门的人会混淆的地方.
以前在 JDK 1.0 至 JDK 1.4 年代, 你的 example,
和 varA.toString() 是不合法的 (留意是 toString()
不是 ToString(), Java 的 convention 是 method name
小草开头)
以前你的例子要这样写
int varA = 5;
Object o1 = new Integer(varA);
只是 autoboxing/unboxing 把上面的 new Integer()
部份自动帮你完成而已.
varA.toString() 则是做了:
new Integer(varA).toString();
: 3. Java既然不支援operator overloading,
: 那String + int / String + String怎麽去实做出来的?
: (还是语言就是这样?)
: ---> 看别人的回文, 说明String就是Java里的一个特殊型别... (对吗?)
不是以 customized operator overloading 的形式实作.
应该算是 language 层面做了我之前说的 overloaded operator
的 "效果" 而已.
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.238.156.189