java中参数的传递分为值传递和引用传递:
值传递:方法调用时,实际参数把它的值传递给对应的形式参数,方法执行中形式参数值的改变不影响实际参数的值。
public class ValueDemo
{
static void swap(int a, int b)//交换两个数的值
{
int temp=a;
a = b;
b = temp;
}
public static void main(String[] args)
{
int x = 20,y=30;
sop("值传递前: " + "x=" + x + "\t" + "y = " + y);
swap(x,y);
sop("值传递后: " + "x=" + x + "\t" + "y = " + y);
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
引用传递:如果在方法中把对象作为参数,方法调用时,参数传递的是对象的引用(地址),即在方法调用时,实际参数把对对象的引用(地址)传递给形式参数。这是实际参数与形式参数指向同一个地址,即同一个对象,方法执行时,对形式参数的改变实际上就是对实际参数的改变,这个结果在调用结束后被保留了下来。 |