在Java中,=运算用于基本数据类型时,是将值复制给变量,但当它用于对象时,则是将对象指定给参考引用名称来参考引用。
也可以将同一个对象指定给两个参考引用名称,当对象的值其中一个参考引用名称进行操作而变更时,另一个参考引用名称所参考引用到的值也会变动。
执行结果:
通过tmp1取出数组值:1 2 3 4 5
通过tmp2取出数组值:1 2 3 4 5
通过tmp1取出数组值:1 2 9 4 5
通过tmp2取出数组值:1 2 9 4 5
上例中,通过tmp1名称改变索引2的元素值,由于tmp2也引用自同一数组对象,所以tmp2取出索引2的元素值是改变后的值。在例子中,arr1,tmp1与tmp2,所以,如果取出arr1索引2的元素,元素值也会是9.