按值传递与按引用传递,引用能改是什么?

来源:互联网 发布:ks线切割编程系统 编辑:程序博客网 时间:2024/05/18 15:07

int[] a=new int[]{1,2,3,4,5};

int[] b=a;


第一种:b=new int[]{2,3,4,5,6};

第二种:b[0]=7;


当我们把a的引用给了b,按照说法是"基本数据类型按值传,其它按引用地址传地址"既然拿到的是地址,值的应该会照成两个一起变吧?

这是看情况的


第一种是改变b的地址,b不在引用a,而是引用了new int[]{2,3,4,5,6};自己开辟数组,引用着自身,第一个的地址2


第二中是会改变a的值,b引用着a,b拿着a里面的第0个改成了7,


一个是改变地址,一个是依然拿着地址改变里面的值,会照成原来a的改变。


这个和改变常量内的值一个道理。

原创粉丝点击