求教一道简单的java题

来源:百度知道 编辑:UC知道 时间:2024/06/15 11:58:18
//为什么a[3]的结果也是100呢?
public class Example2_3
{
public static void main(String args[])
{
int a[]={1,2,3,4};
int b[];
System.out.println(a[3]);
b=a;
b[3]=100;
System.out.println(a[3]);
System.out.println(b[3]);
}
}
运行结果:
4
100
100

因为java中不能使用地址,只能用引用。同一个对象的引用值相同。
在lz的题目中,数组b是数组a的一个引用,他们所引用的内容相同的,当其中任意一个数组的值发生改变时,另一个数组的值也相应改变。所以当不b[3]=100时,实际上a[3]也等于100.

b没有new对象
整型数组b是引用对象 引用的是整型数组a
所以b 就是 a

a已经有了,b = a;意思就是说把a的地址赋给b
因为b对引用的对象进行操作,就是相当于给a数组进行操作。

又学到点东东....