如下,我们创建一个简单数组,并通过内存图进行分析。
在栈空间生成变量a; 在堆空间生成一个数组对象,该数组对象的长度是3。该数组对象的每个元素都有默认值,本例是int数组,所以默认值是0; 变量a的引用指向数组对象。
数组对象的第一个元素变为1。
数组具有length属性用于获得长度,需要指出的是数组是0基的。 length属性常用于循环遍历数组或者用于为每个元素赋值。
内存图如下:
既然数组是相同类型元素的有序集合,那也可以放置类对象。如下:
public class LearnArray { public static void main(String[] args) { Car[] cars = new Car[3]; cars[0] = new Car("QQ"); System.out.println(cars[0].name); } } class Car { String name; public Car(String name) { this.name = name; } }与基本类型不同的是,引用类型数组的元素是“对象的引用”。如下图: