JAVA——用引用操纵对象

以下内容选自《Thinking in JAVA》第4版



每种编程语言都有自己的操纵内存中元素的方式。有时候,程序员必须要注意要处理的数据是什么类型。你是直接操纵元素,还是用某种基于特殊语法的间接表示(例如C和C++里的指针)

所有这一切在JAVA里得到了简化,一切都被视为对象,因此可以使用单一固定的语法。尽管一切都被视为对象,但操纵的标识符实际上是对象的一个“引用”。

可以将这一情形想象成用遥控器(引用)来操纵电视机(对象)。只要握住这个遥控器,就能保持与电视机的连接。当需要更换频道的时候,你实际操作的是遥控器(引用),再由遥控器来调控电视机(对象)。如果你想在房间里四处走走,那么记得带好你的遥控器(引用),再由遥控器来控制电视机(对象),而不是随身带着电视机。

此外,即使没有电视机,遥控器同样可以独立存在。也就说,你拥有一个引用,并不需要有一个对象与其关联。

如果你想操纵一个词语或者句子,你可以先创建一个引用:


创建一个引用

注意这里所创建的只是引用,而不是对象。如果此时向s发送一个消息(可以将消息理解为,对某个特定对象的方法的调用请求),就会返回一个运行时的错误。这是因为s没有和任何事物关联(电视机)。因此一种安全的做法是,创建一个引用的同时,进行初始化:


创建引用的同时利用JAVA语言特性初始化

但是这里用到了JAVA语言的一个特性,字符串可以用带引号的文本初始化。通常,必须对对象采用一种更加通用的初始化方法。

一旦创建了一个引用,就希望它能与一个新的对象相关联。通常用new操作符实现这一目的。New关键字的意思就是“给我一个对象”,所以前面的例子可以写成:


创建一个新的引用并将其与新的对象关联

它不仅表示 “给我一个新的字符串”,而且通过提供一个初始化字符串,给出了怎样产生这个String的信息。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,420评论 11 349
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,281评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,874评论 18 399
  • 我 看到爸爸看手机得拿得远远的时候,我才意识到原来父亲已经老了。 时间匆匆,在我的潜意里,父亲还是很能干,还是家里...
    珍爱啦啦啦啦阅读 211评论 0 0
  • 小时候, 觉得能够咥到美食是一件幸事。 那种贪恋与满足, 乐呵呵地不能自拔。 长大些, 觉得觅得一本好书便是一桩幸...
    城南吾桐阅读 230评论 2 1