学习无止境,快乐无止境

Java的点点滴滴

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  1 Posts :: 1 Stories :: 0 Comments :: 0 Trackbacks

2008年11月8日 #

  每种编程语言都有自己的数据处理方式。
有些时候,程序员必须时刻留意准备处理的是什么类型。
您曾利用一些特殊语法直接操作过对象,或处理过一些间接表示的对象吗(C或C++里的指针)?

所有这些在Java里都得到了简化,任何东西都可看作对象。
因此,我们可采用一种统一的语法,任何地方均可照搬不误。
但要注意,尽管将一切都“看作”对象,但操纵的标识符实际是指向一个对象的“句柄”(Handle)。
在其他Java参考书里,还可看到有的人将其称作一个“引用”,甚至一个“指针”。可将这一情形想象成用遥控板(句柄)操纵电视机(对象)。只要握住这个遥控板,就相当于掌握了与电视机连接的通道。
但一旦需要“换频道”或者“关小声音”,我们实际操纵的是遥控板(句柄),再由遥控板自己操纵电视机(对象)。如果要在房间里四处走走,并想保持对电视机的控制,那么手上拿着的是遥控板,而非电视机。
此外,即使没有电视机,遥控板亦可独立存在。
也就是说,只是由于拥有一个句柄,并不表示必须有一个对象同它连接。所以如果想容纳一个词或句子,可创建一个String句柄:

String s;
但这里创建的只是句柄,并不是对象。若此时向s发送一条消息,就会获得一个错误(运行期)。这是由于s实际并未与任何东西连接(即“没有电视机”)。
因此,一种更安全的做法是:创建一个句柄时,记住无论如何都进行初始化:
String s = "猪头三";
然而,这里采用的是一种特殊类型:字串可用加引号的文字初始化。通常,必须为对象使用一种更通用的初始化类型。
posted @ 2008-11-08 15:35 郑超 阅读(230) | 评论 (0)编辑 收藏