的 . rectangleOne 的
12
创建对象就是指为它分配成员变量, 并获得一个引用, 创建对象就是指为它分配成员变
量 ,
并获得一个引用 , 以确保这些成员变量由它来" 操作管理" 以确保这些成员变量由它
来 "
操作管理 " .
为对象分 配成员变量后,内存模型由声明对象时的模型图 4 配成员变量
后,内存模型由声明对象时的模型图 4.1, 变成如图 4 所示, 变成如图 4.2 所示,箭头示意对象
可以操作这些属于自 己的成员变量. 己的成员变量.
Rectangl eOne 0xAA11
10 20
sideA sideB
图 4.2 分配实体后的对象
13
3.
创建多个不同的对象 一个类通过使用 new
运算符可以创建多个不同 一个类通过使用
new
运算符可以创建多个不同 的对象,这些对象将被分配不同的内存空间, 的对象,这些对
象将被分配不同的内存空间, 因此, 因此,
改变其中一个对象的状态不会影响其它 对象的状
态.例如,我们使用前面的 Rect
类创 对象的状态.例如,我们使用前面的 Rect
类创 建 两 个
对 象 : rectangleOne , rectangleTwo. rectangleTwo. rectangleOne =new Rect(10,20); Rect(10,20)
rectangleTwo =new Rect(33,66); Rect(33,66) 当创建对象 rectangleOne 时,Rect
类中的成 当创
建对象 rectangleOne 时,Rect
类中的成 员变量 sizeA,sizeB 被分配内存空间,
并返回 员变量
sizeA,sizeB 被分配内存空间,
并返回 一个引用给 ectangleOne; 一个引用给 ectangleOne;
14
当再创建一个对象 rectangleTwo 时,Rect
类中的成 当再创建一个对象 rectangleTwo
时,Rect
类中的成 员 变量 sizeA,sizeB 再一次被分配内存空间,
并返回 变量 sizeA,sizeB 再一
次被分配内存空间,
并返回 一个 引用给 rectangleTwo .内存模型如图 4.3 所示. 引用给
rectangleTwo .内存模型如图 4.3 所示.
rectangleOn e
0xAA11
10 20
sideA sideB
rectang 0xBB42 leTwo
33 66
sideA
sideB
图 4.3 创建多个对象
15
4.
使用对象 对象不仅可以操作自己的变量改变状态, 对象不仅可以操作自己的变量改
变状态,
而且还拥有 了使用创建它的那个类中的方法的能力, 了使用创建它的那个类中的
方法的能力 ,
对象通过使 用这些方法可以产生一定的行为. 用这些方法可以产生一定的行
为. 通过使用运算符"
通过使用运算符 " ." ,
对象可以实现对自己的变量访 问 和方法的调
用. 和方法的调用. (1)对象操作自己的变量(对象的属性) (2)对象调用类中的方法(对象的功
能) 下面例子 1 中,"Lader"类创建了 2 个对象:laderOne, 下面例子 1 中,"Lader"类创建了 2 个
对象:laderOne, laderTwo. laderTwo. 返回
16
4.4 对象的引用与实体