参考资料:java核心卷1
这篇文章主要介绍了Java中方法的参数传递机制
- java方法参数传递机制原理
- 实现方法及操作注意事项
参数传递机制
对于程序设计语言来说,一般方法(函数)的参数传递有两种:
- 按值传递(按值调用) (call by value)
- 按引用传递(按引用调用) (call by reference)
按值传递:当将一个参数传递给一个方法时,方法接收的是原始值的一个副本。因此,如果方法修改了该参数,仅改变副本,而原始值保持不变。(方法接收的是调用着提供的值)
按引用传递:当将一个参数传递给一个方法时,方法接收的是原始值的内存地址,而不是值的副本。因此,如果方法修改了该参数,调用代码中的原始值也随之改变。(表示方法接收的是调用者提供的变量地址)
Java中的参数传递
- Java中的参数传递机制只有一种,就是按值传递。在Java中并没有C++引用传递这种参数传递机制,它所有的参数传递都遵循值传递的机制。
- Java中对于对象(数组,类,接口)的传递似乎有点像引用传递,可以改变对象中某个属性的值。但是不要被这个假象所蒙蔽,实际上这个传入方法的值是对象引用的拷贝,即传递的是引用的地址值,所以还是按值传递。
可以理解当我们要调用一个方法时,我们会把指定的数值,传递给方法中的参数,这样方法中的参数就拥有了这个指定的值,可以使用该值,在方法中运算了。这种传递方式,我们称为参数传递。
- 在这里,定义方法时,参数列表中的变量,我们称为形式参数。
- 调用方法时,传入给方法的数值,我们称为实际参数
1、基本数据类型的参数传递