美文网首页
2.1 用句柄操纵对象

2.1 用句柄操纵对象

作者: old程序猿 | 来源:发表于2018-01-24 17:06 被阅读0次

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

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

此外,即使没有电视机,遥控板亦可独立存在。也就是说,只是由于拥有一个句柄,并不表示必须有一个对象同它连接。所以如果想容纳一个词或句子,可创建一个String句柄:

String s;

但这里创建的只是句柄,并不是对象。若此时向s发送一条消息,就会获得一个错误(运行期)。这是由于s实际并未与任何东西连接(即“没有电视机”)。因此,一种更安全的做法是:创建一个句柄时,记住无论如何都进行初始化:

String s = "asdf";

然而,这里采用的是一种特殊类型:字串可用加引号的文字初始化。通常,必须为对象使用一种更通用的初始化类型。

相关文章

  • 2.1 用句柄操纵对象

    每种编程语言都有自己的数据处理方式。有些时候,程序员必须时刻留意准备处理的是什么类型。您曾利用一些特殊语法直接操作...

  • 每天学一点Thinking in java: 2 万物皆为对象

    用句柄操纵对象 虽说万物皆对象,但你操作的实际是指向对象的句柄。试着将对象想象成电视,句柄想象成句柄。只要你手中拿...

  • 第二章 一切都是对象

    Java 中几乎一切都是对象。 2.1 用引用操纵对象 对象(这里理解为变量)可以怎样操纵? 直接操纵。 间接操纵...

  • 第二章 一切都是对象

    2.1 用引用操作对象 每种编程语言都有自己的操纵内存中元素的方式。你是直接操纵元素,还是用某种基于图书与否的间接...

  • Java编程思想笔记2.一切都是对象

    点击进入我的博客 2.1 用引用操纵对象 尽管一切都看作对象,但操纵的标识符实际上是对象的一个“引用”。 2.2 ...

  • Think in Java(Java编程思想)入门到放弃---C

    一切都是对象 2.1引用操纵对象 在Java中万物皆对象,通常我们是使用操纵标识符(引用)来操作对象。类似于遥控器...

  • 《Thinking In Java 》 一切都是对象

    尽管以C++为基础,但是Java是一种更加纯粹的面向对象的程序设计语言。 1.1用引用(句柄)操纵对象 尽管将一切...

  • 第二章笔记《Thinkinng in JAVA》

    第二章 一切都是对象 2.1用引用操纵对象 String s;创建的是引用,并不是对象 String s = "a...

  • Windows根据文件句柄获取文件名

    句柄在Windows系统中有很重要的作用,窗口、文件、线程……都会产生一个句柄来告诉操作系统如何对对象进行操纵。那...

  • 第二章 一切都是对象

    Java是一种更“纯粹”的面向对象程序设计语言。在 Java 中(几乎)一切都是对象。 2.1 用引用操纵对象 每...

网友评论

      本文标题:2.1 用句柄操纵对象

      本文链接:https://www.haomeiwen.com/subject/eobuaxtx.html