值传递跟引用传递

Posted myjjy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了值传递跟引用传递相关的知识,希望对你有一定的参考价值。

值传递跟引用传递

 

值传递:方法调用时,实际参数把值传给形式参数,函数接收值是其原始值的一个copy,此时内存中存在两个相等的基本类型,实际参数跟形式参数。

    后面的操作都是针对其形式参数的操作,不会影响实际参数的值。

 

引用传递:方法调用时,实际参数的引用内存地址,被传递给相应的形式参数。函数接收的是实际参数的内存地址。

    后面的方法执行中,实际参数跟形式参数都指向的是同一个内存地址,所以此刻对引用对象的操作会影响到实际对象。

 

#特例 :String类型和包装类型都是对象类型,所以必然是引用传递。 但是由于String类和 Integer, Double等包装类是immutable的类型都没有提供value对应的setter方法,

我们无法改变其内容,所以导致我们看起来好像是值传递。

以上是关于值传递跟引用传递的主要内容,如果未能解决你的问题,请参考以下文章

PHP对象到底是值传递还是引用传递

Java 值传递和引用传递

区别PHP引用传递与值传递的小例子

Java 中是值传递还是引用传递?

java中函数是值传递还是引用传递?

ECMAScript 中所以函数的参数都是按值传递