Java中的参数传递
实参与形参
- 形式参数:是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传入的参数。
- 实际参数:在调用有参函数时,主调函数和被调函数之间有数据传递关系。在主调函数中调用一个函数时,函数名后面括号中的参数称为“实际参数”。
- 实际参数是调用有参方法的时候真正传递的内容,而形式参数是用于接收实参内容的参数。
值传递和引用传递
- 值传递(pass by value):是指在调用函数时将实际参数
复制
一份传递到函数中,这样在函数中如果对参数
进行修改,将不会影响到实际参数。 - 引用传递(pass by reference):是指在调用函数时将实际参数的地址
直接
传递到函数中,那么在函数中对参数
所进行的修改,将影响到实际参数。
传共享对象调用(共享对象传递)
传共享对象调用中,先获取到实际参数的地址,然后将其复制,并把该地址的拷贝传递给被调函数的形式参数。因为参数的地址都指向同一个对象,所以我们也称之为”传共享对象”,所以,如果在被调函数中改变了形式参数的值,调用者是可以看到这种变化的。
Java中参数传递
- 基本数据类型使用值传递
- 对象传递,把对象的引用当做值传递给方法,即共享对象传递
- Java对象的传递,是通过复制的方式把引用关系传递了,如果我们没有改引用关系,而是找到引用的地址,把里面的内容改了,是会对调用方有影响的,因为大家指向的是同一个共享对象。
- Java的对象传递,如果是修改引用,是不会对原来的对象有任何影响的,但是如果直接修改共享对象的属性的值,是会对原来的对象有影响的。
Java中的参数传递
原文地址:https://www.cnblogs.com/yysy/p/13360053.html