爱玩科技网
您的当前位置:首页值传递与引用传递的区别

值传递与引用传递的区别

来源:爱玩科技网

一、值传递:是指在调用函数时将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际参数。

 代码在内存中的执行流程:

1、首先加载main方法;

2、接下来int number = 100;

 3、输出调用前的number,结果为100;

 4、调用change方法;

 5、在change方法中传参,传的是number,值为100;

 6、在change方法中对其number修改其值为200;

 

虽然方法中的number的确改为200,但是main方法中的number的值是没有改变的。

 7、change方法调用完毕,然后就从栈内存消失;

 8、接下来输出number,而number在main方法中的值还是100;

​ 

9、main方法结束,从栈内存中消失

总结:对于基本数据类型的参数,形式参数的改变,不影响实际参数的值。

 二、引用传递:是指在调用函数时将实际参数的地址传递到函数中,那么在函数中对参数所进行的修改,将影响到实际参数。

  代码在内存中的执行流程:

1、加载main方法;

 5、change方法调用完毕,在栈内存中消失;

 6、接下来输出调用change方法后的值,这时值已经改变,鼠疫出书的值为200;

7、main方法结束,从栈内存中消失;

 总结:对于引用类型的参数传递,形式参数的改变,影响实际参数的值。

因篇幅问题不能全部显示,请点此查看更多更全内容