java中方法的参数传递机制
传递形式:实参 ——> 形参
- 当形参是基本数据类型时。
实参赋值给形参的是数据值,形参值得修改不影响实参,因为实参是“复制”了一份数据给形参
数据交换的正确代码:
/**
* A instance of this class will have a ability to swap two integers.
{1}
*/
class Swaper
{
int x, y;
public Swaper(int x, int y)
{
super();
this.x = x;
this.y = y;
}
// The swap behavior is belong to a Swaper object.
public Swaper swap()
{
return new Swaper(this.y, this.x);
}
}
public class JavaDemo
{
public static void main(String[] args)
{
int x = 3;
int y = 4;
System.out.println("x: " + x + ", y: " + y);
Swaper swaper = new Swaper(x, y);
x = swaper.swap().x;
y = swaper.swap().y;
System.out.println("x: " + x + ", y: " + y);
}
}
- 形参是引用数据类型
实参赋值给形参的对象的地址值,如果形参修改了对象的属性值,那么实参的值也会修改。
参数传递机制的陷阱: