第二章 一切都是对象

     通过阅读这一章节,总结如下(由于这一章节也是偏总结性的一章,具体的内容会到后面深入):
  1. 什么是引用?
  2. 对象存放的位置?
  3. 特例:基本类型
  4. static关键字

1.什么是引用?
每种编程语言都有自己的操纵内存中元素的方式。在Java中,一切都被视为对象,因此采用单一固定的语法即:引用。 引用其实是用来对对象进行操纵。举一个现实中的情景即遥控器(引用)来操纵电视机(对象)。只要拥有这个遥控器,就能保持与电视机的连接。当有人想改变频道或者是减少音量时,实际操控的是遥控器(引用),再有遥控器来控制电视机(对象)。此时,即使是没有电视机,遥控器亦可以独立存在。也就是说你拥有一个引用并不一定要有一个对象与其关联。看如下代码:String s; 这里所创建的仅仅是引用而不是对象,此时如果对s进行操作的话就会报错,因为此时的s并没有与任何对象关联(即,没有电视机)。

2.对象存放的位置?
- 寄存器。 位于CPU内部,速度最快。但你不能直接控制
- 堆栈。 位于RAM(随机访问存储器)中,速度仅此于寄存器。堆栈指针若想下移动, 则分配新的内存呢;向上移动,则释放内存。注意:对象的引用存放在堆栈(通常称为栈内存)中
- 堆。 位于RAM,用于存放所有的Java对象。
- 常量存储。 直接存放在代码内部。
- 非RAM存储。 存在这里的数据完全存活于程序之外,如磁盘上。

3.基本类型:
为什么会出现基本类型呢? 这是因为Java中一切都为对象,而且new将对象存储在“堆”里,所有new一个特别小的,简单的变量,往往不是很有效。因此对于这些数据类型,Java采用与C,C++想同的方式,不用new来创建变量,而是创建一个并非是引用的变量。这个变量存储于堆栈中,因此更加高效.

4.static 关键字
以后再具体说。

阅读更多
个人分类: Thinking in Java 总结
上一篇android.content.res.Resources$NotFoundException: String resource ID #0x1
想对作者说点什么? 我来说一句

JAVA编程思想第四版

2018年03月07日 87.25MB 下载

没有更多推荐了,返回首页

关闭
关闭