a2[i]++ 就是将数组a2里的元素的值 加1再赋给a2[i]
相当于  a2[i]=a2[i]++1;在java 里,数组是一个对象,所以当执行a2=a1时,就是说,a2和a1指向同一个对象,也可以说是指向同一个地址。所以改变a2里的值就等于是改变了a1里的值 。

解决方案 »

  1.   

    Java中任何东西都是对象,对象是引数传递,也就是你那a2 = a1;把a1的地址传给a2,换句话说a1,a2同指一个对象,a2的值的变化一定反映再a1上
      

  2.   

    a2=a1是传递句柄,就是说此时a2和a1指向的是相同的对象
      

  3.   

    数组传递的是reference,也就是引用,所以al和a2是指向同一个对象,a2[i]++是在使用过a2[i]后把a2[i]的元素加1,a1指向对象,输出就是2,3,4,5,6了!
      

  4.   

    执行a2=a1时,就是说,a2和a1指向同一个对象,也可以说是指向同一个地址。所以改变a2里的值就等于是改变了a1里的值