值传递:指在调用方法时将实际参数复制一份传递给方法中,这样在方法中如果对参数进行修改,将不会影响到实际参数。
引用传递:指在调用方法时将实际参数的地址直接传递到方法中,那么在方法中对参数进行的修改,将影响到实际参数。
所以值传递和引用传递的区别是:
- 值传递会创建一个副本,方法中无法改变实际参数
- 引用传递不会创建一个副本,方法中会改变实际参数
- 值传递和引用传递的区别不是传递的内容,而是实参到底有没有被赋值一份传给形参
所以,Java中只有值传递,只不过对于对象作为参数,值的内容是对象的引用地址的值