Skip to content

Commit dfd1a5e

Browse files
committed
Update Ch03
1 parent 55ffb1a commit dfd1a5e

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

src/Ch03_Primitives_and_References_Know_Your_Variables.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# 原生与参考:熟知你的变量
1+
# 原生与引用:熟知你的变量
22

3-
变量有两种:**原生变量** (**primitive**)和 **参考变量** (**reference**)。到现在为止,我们在两个地方用到了变量:作为对象状态(实例变量),以及作为本地变量(在方法中声明的变量)。后面会把变量用作 **参数**(**arguments**, 由调用代码发送给方法的值),同时作为返回类型(**return types**,返回到方法调用者的值)。在前面已经见到了声明为简单的 **原生** 整数值(比如 `int` 类型)。也见到过声明为更为复杂的诸如字符串(`String`)或数组(`array`)变量。但在现实生活中,有着远比整数、字符串以及数组复杂的东西,比如一个有着 `Dog` 实例变量的 `PetOwner` 对象,或者有着 `Engine` 的 `Car` 对象,本章将揭开 Java 类型谜题,看看可以 **声明** (__declare__)出什么样的变量,在变量中可以 **放入** (**put in**)些什么东西,以及对变量可以进行什么操作。还会揭示 **垃圾回收堆**(**garbage-collectible heap**)上,所发生的事情。
3+
变量有两种:**原生变量** (**primitive**)和 **引用变量** (**reference**)。到现在为止,我们在两个地方用到了变量:作为对象状态(实例变量),以及作为本地变量(在方法中声明的变量)。后面会把变量用作 **参数**(**arguments**, 由调用代码发送给方法的值),同时作为返回类型(**return types**,返回到方法调用者的值)。在前面已经见到了声明为简单的 **原生** 整数值(比如 `int` 类型)。也见到过声明为更为复杂的诸如字符串(`String`)或数组(`array`)变量。但在现实生活中,有着远比整数、字符串以及数组复杂的东西,比如一个有着 `Dog` 实例变量的 `PetOwner` 对象,或者有着 `Engine` 的 `Car` 对象,本章将揭开 Java 类型谜题,看看可以 **声明** (__declare__)出什么样的变量,在变量中可以 **放入** (**put in**)些什么东西,以及对变量可以进行什么操作。还会揭示 **垃圾回收堆**(**garbage-collectible heap**)上,所发生的事情。
44

55

66
## 声明一个变量
@@ -15,7 +15,7 @@ Rabbit hopper = new Giraffe();
1515

1616
别指望这代码会被编译出来。拜托!
1717

18-
为了能让 **类型安全****type-safty**)发挥作用,就要声明变量的类型。变量是个整数?还是 `Dog`? 还是是单个的字符。变量类型有两种:**原生****primitive**)与 **对象引用****object reference**)。原生变量保存的是一些基础类型的值(可以理解为简单的位模式,simple bit patterns),包括整数、逻辑值以及浮点数。对象参考变量,则是保存了对对象的参考_references to objects_)。
18+
为了能让 **类型安全****type-safty**)发挥作用,就要声明变量的类型。变量是个整数?还是 `Dog`? 还是是单个的字符。变量类型有两种:**原生****primitive**)与 **对象引用****object reference**)。原生变量保存的是一些基础类型的值(可以理解为简单的位模式,simple bit patterns),包括整数、逻辑值以及浮点数。对象引用变量,则是保存了对对象的引用_references to objects_)。
1919

2020
__所有变量,都必须有一个类型__
2121

@@ -106,12 +106,12 @@ __Java的保留字__
106106
| `class` | `extends` | `implements` | `import` | `instanceof` | `interface` | `new` | `package` | `super` | `this` |
107107
| `catch` | `finally` | `try` | `throw` | `throws` | `return` | `void` | `const` | `goto` | `enum` |
108108

109-
**关于参考变量**
109+
**关于引用变量**
110110

111111
* 实际上是不存在 **对象** 变量的(There is actually no such thing as an **object** variable)
112-
* 有的只是对象 **参考** 变量(There's only an object **reference** variable)
113-
* 对象参考变量所存储的,是表示一种访问对象的方式的数据位(An object reference variable holds bits that represent a way to access an object)
114-
* 对象参考变量,并非保存的是对象本身,而是类似于指针的东西,或者说是一个内存地址。就算在不知道某个参考变量里头具体是什么,我们也明白他到底是个什么,参考变量代表着唯一的对象。同时JVM也知道如何使用这个引用,来获取到某个对象。
112+
* 有的只是对象 **引用** 变量(There's only an object **reference** variable)
113+
* 对象引用变量所存储的,是表示一种访问对象的方式的数据位(An object reference variable holds bits that represent a way to access an object)
114+
* 对象引用变量,并非保存的是对象本身,而是类似于指针的东西,或者说是一个内存地址。就算在不知道某个引用变量里头具体是什么,我们也明白他到底是个什么,引用变量代表着唯一的对象。同时JVM也知道如何使用这个引用,来获取到某个对象。
115115

116116
__对象引用__ 只是另一个变量值(An object reference is just another variable value)。
117117

0 commit comments

Comments
 (0)