什么是值传递?引用传递?
值传递:值传递是将变量的一个副本传递到方法中,方法中如何操作该副本,都不会影响原变量的值。引用传递:引用传递是将变量的地址传递到方法中,方法中操作该变量,会对其产生影响。
为什么说Java中只有值传递?
Java中的方法形参有两种,1:基本类型及其包装类,2:引用类型
对于以上两种,都是值传递。
类型1:直接传值过去,类型2:传递的是引用本身的副本,而不是引用本身。
引用本身的副本指向的位置和引用指向的位置相同,所以对引用指向的对象的内容进行变更,会生效。
具体解释以及代码示例参考Stack Overflow高票回答的翻译版:http://ifeve.com/stackoverflow-reference-or-value/