JAVA中对象句柄的意思(转载)
2014-03-27 08:12
253 查看
JAVA中对象句柄的意思
每种编程语言都有自己的数据处理方式。有些时候,程序员必须时刻留意准备处理的是什么类型。您曾利用一些特殊语法直接操作过对象,或处理过一些间接表示的对象吗(C或C++里的指针)?所有这些在Java里都得到了简化,任何东西都可看作对象。因此,我们可采用一种统一的语法,任何地方均可照搬不误。但要注意,尽管将一切都“看作”对象,但操纵的标识符实际是指向一个对象的“句柄”(Handle)。在其他Java参考书里,还可看到有的人将其称作一个“引用”,甚至一个“指针”。可将这一情形想象成用遥控板(句柄)操纵电视机(对象)。只要握住这个遥控板,就相当于掌握了与电视机连接的通道。但一旦需要“换频道”或者“关小声音”,我们实际操纵的是遥控板(句柄),再由遥控板自己操纵电视机(对象)。如果要在房间里四处走走,并想保持对电视机的控制,那么手上拿着的是遥控板,而非电视机。
此外,即使没有电视机,遥控板亦可独立存在。也就是说,只是由于拥有一个句柄,并不表示必须有一个对象同它连接。所以如果想容纳一个词或句子,可创建一个String句柄:
String s;
但这里创建的只是句柄,并不是对象。若此时向s发送一条消息,就会获得一个错误(运行期)。这是由于s实际并未与任何东西连接(即“没有电视机”)。因此,一种更安全的做法是:创建一个句柄时,记住无论如何都进行初始化:
String s = "asdf";
然而,这里采用的是一种特殊类型:字串可用加引号的文字初始化。通常,必须为对象使用一种更通用的初始化类型。
相关文章推荐
- java synchronized类锁,对象锁详解(转载)
- 【转载】J2SE知识点归纳笔记(三)---Java面向对象 Part 2
- 技术转载:Jni学习三:jni使用java对象详解
- Java--类和对象之句柄、作用域
- 由java ==和equals区别引出的对象以及对象的引用等相关概念。转载
- <转载>Java(41):在jsp中取出存放在Attribute中的对象及属性
- java synchronized类锁,对象锁详解(转载)
- Java中对象序列化的作用是什么?java RMI是什么意思?
- [java语法]基本语法(9)什么是对象句柄
- 【转载】JAVA 对象引用,以及对象赋值
- Java中的set去重复(基础类型,与对象)转载自http://blog.csdn.net/miqi770/article/details/8998517
- 技术转载:Jni学习三:jni使用java对象详解
- Java之用句柄操作对象
- JAVA父类引用指向子类的对象是什么意思?有什么作用?
- 解析Java对象的equals()和hashCode()的使用 转载http://blog.csdn.net/terry84fun/article/details/4752042
- [转载]解析 Java 类和对象的初始化过程
- java synchronized类锁,对象锁详解(转载)
- java的对象、对象句柄、变量等在内存的分布
- 【转载】Java 对象之生
- Java:对象的强、软、弱和虚引用(转载)