2.4.6 对象数组
数组元素可以是任何类型,既可以是基本数据类型,也可以是类对象。数组元素为类对象的数组为对象数组。在这种情况下,数组的每一个元素都是一个对象的引用。本小节建议在理解Java面向对象的知识后再学习。
例如:


上面的代码声明了一个存储Date类对象的数组,与C++不同,Java在对象数组的声明中并不为数组元素分配内存,且对于如上定义的数组是不能引用的,必须经过初始化才可以引用。

使用运算符new只是为数组本身分配空间,数组的元素是Date类对象的引用,且没有对数组的元素进行初始化,即数组元素都为空,如图2.6所示。

图2.6 数组days内存分配示意图
(https://www.daowen.com)
上面的代码创建Date类对象,并将其引用赋值给days的数组元素,对数组元素进行初始化,如图2.7所示。

图2.7 数组days初始化示意图
【例2.21】对象数组排序。



运行结果:
