定义:数组是一种引用型变量,在定义数组时,不能指明长度,因为还没分配内存空间,所以不能指向内存中的有效空间。
int a[4];是错误的语法
初始化:数组必须先初始化才能使用, 也就是数组元素分配内存。静态初始化分配内存:int a[4]={1,2,3,4};动态初始化分配 int a[]=new int[4],有系统初始化。
深入数组:实际上数组中的元素值是存放在对内存当中,而数组变量时存放在站内存当中,数组引用变量时访问堆内存中的元素值得唯一途径。
如果堆内存中的数组不再有任何的变量指向自己,数组就会被系统的垃圾回收机制回收。
代码:
程序输出a的长度为3,b的长度为4,将a的引用赋给b,输出b的长度为3,b=a之后关系发生了变化:
程序员开发时不能只看代码表面,要深入底层的运行机制。一个数组要看成栈数组引用变量和堆中的数组元素。
引用类型数组的初始化: