试想一下,假如数组中有上万个元素,在拷贝数组时,假如将数组a的一切元素都逐一拷贝至数组b,时候开支很大,有时候也不是必需的。
所以,在Java语言中, b = a(a和b都是援用名)的寄义就是将a起个别号"b"。
以后,a和b实在就是指向的是同一个对象。
int[] a = new int[10]; int[] b; b = a;
在Java中,这类给变量取别号的机制称之为援用(reference)。
一个顺序若想运转,必需驻入内存,而在内存中必定有其存储地点,经由过程这些内存地点,就能够找到我们想的数据。
这些内存地点一般都很长,因为不容易记着,所以就给这些地点取个称号,这就是援用变量,这些援用变量存储在一块名叫 “栈内存” 的地区。
那末所谓“援用”,就是Java对象在堆内存的地点赋给了多个“栈内存”的变量。
因为Java制止用户直接操纵“堆整型、浮点型、布尔型等基础数据类内存”中对象的地点,所以只能用这些“栈内存”的多个援用名来间接操纵它们对应的“堆内存”数据。
所以,Java中的“援用”更类似于C/C++中的“指针”观点,所差别的是,C/C++中的“指针”能够被用户直接修正,而在Java中对内存的直接修正是被屏障的。
以上就是java数组的援用有什么意义的细致内容,更多请关注ki4网别的相干文章!