用句柄哄骗工具
每种编程语言都有本身的数据处理惩罚方法。有些时候,措施员必需时刻寄望筹备处理惩罚的是什么范例。您曾操作一些非凡语法直接操纵过工具,或处理惩罚过一些间接暗示的工具吗(C或C++里的指针)?
所有这些在Java里都获得了简化,任何对象都可看作工具。因此,我们可回收一种统一的语法,任那里所均可照搬不误。但要留意,尽量将一切都“看作”工具,但哄骗的标识符实际是指向一个工具的“句柄”(Handle)。在其他Java参考书里,还可看到有的人将其称作一个“引用”,甚至一个“指针”。可将这一景象想象成用遥控板(句柄)哄骗电视机(工具)。只要握住这个遥控板,就相当于把握了与电视机毗连的通道。但一旦需要“换频道”可能“关小声音”,我们实际哄骗的是遥控板(句柄),再由遥控板本身哄骗电视机(工具)。假如要在房间里四处逛逛,并想保持对电视机的节制,那么手上拿着的是遥控板,而非电视机。
另外,纵然没有电视机,遥控板亦可独立存在。也就是说,只是由于拥有一个句柄,并不暗示必需有一个工具同它毗连。所以假如想容纳一个词或句子,可建设一个String句柄:
String s;
但这里建设的只是句柄,并不是工具。若此时向s发送一条动静,就会得到一个错误(运行期)。这是由于s实际并未与任何对象毗连(即“没有电视机”)。因此,一种更安详的做法是:建设一个句柄时,记着无论如何都举办初始化:
String s = "asdf";
然而,这里回收的是一种非凡范例:字串可用加引号的文字初始化。凡是,必需为工具利用一种更通用的初始化范例。