第7章:对象的容纳
1.数组 Arrays
- 数组变量属于引用类型,数组也可以看成是对象,数组中的每个元素相当于
该对象的成员变量 - 数组中的元素可以是任何数据类型,包括基本类型和引用类型
1.1 数组的创建、初始化和使用
(1)数组的声明
- “[]”表示声明的变量是一个数组类型,例:int a1[ ]; int [ ] a2; String [ ] b; Person [ ] p1;
- Java语言中声明数组时不能指定其长度(数组中元素的个数),例如:int a[5]; //非法
(2)数组初始化
- 数组在声明之后还不可以使用,在使用数组之前必须为数组分配足够的系统资源,称为“初始化”
静态初始化

动态初始化

对象数组的初始化

- 对于第二种对象数组的初始化方法,除了创建时要用new,在初始化时也要用new。第一次new只是创建了三个引用变量,第二次new才创建了对象,如下面三张图所示。



(3)数组的使用
- 按照索引访问数组元素,同C++
- Java中的数组也是对象,除了数组元素之外,还存在唯一一个可被访问的属性length,记录了数组中元素的个数,不像C++那样得调用函数,例如:a[a.length-1]代表数组中最后一个元素
1.2 多维数组

- 存在不规则数组


1.3 数组与数组的引用
- Java数组是特殊的对象,数组变量存放一个数组对象的引用
- 可以将数组变量作为方法参数达到改变数组元素值的效果
例:Java中引用是通过值传递的。在changeArrayValue中,令para=a,引用的是同一块区域,因此修改para[0]时,实际上是修改了这块区域内的元素值,a[0]也对应改变。而在changeArrayRef中,para一开始等于a,但又令para=temp,这时para不再与a引用相同区域,而是与temp引用相同区域,a[0]仍为99。

1.4 数组工具类Arrays



1.5 数组对象比较接口

先将Object o转换为Employee类型的e,用this表示比较发起者


最低0.47元/天 解锁文章
1829

被折叠的 条评论
为什么被折叠?



