我们知道对于一个普通变量而言,就是计算机给其分配一个内存空间,内存空间里存放的是变量的值,变量就是这些值得所有者。
那么数组变量又是什么样的概念呢?
例:
int[] a1 = {1,2,3,4,5,6 };
int[] a2 = a1;
a2[0] = 16;
System.out.println("a1[0]="+a1[0]);
运行该程序 结果:a1[0]=16
这是为什么呢?我们并没有对a1[0]进行任何操作,但他的值却变了。请看下图:
由此图可见,数组变量a1和a2只是相当于该数组的管理者,其内存空间并未存放任何值。所以当通过a2改变了a2[0]的值后a1[0]会变,因为a1、a2这两个数组变量管理的是同一个数组。
总结: