在java中没有引用传递,只有值传递
所谓值传递就是将实际参数的副本(复制品) 传入方法内.而参数本身不会受到影响,
public class TestPrimitiveTransfer
{
public static void swap(int a , int b)
{
//下面三行代码实现a、b变量的值交换。
//定义一个临时变量来保存a变量的值
int tmp = a;
//把b的值赋给a
a = b;
//把临时变量tmp的值赋给a
b = tmp;
System.out.println("swap方法里,a的值是" + a + ";b的值是" + b);
}
public static void main(String[] args)
{
int a = 6;
int b = 9;
swap(a , b);
System.out.println("交换结束后,实参a的值是" + a + ";实参b的值是" + b);
}
}
当程序执行到wrap方法时,系统进入swrap方法,并将main方法中的a,b变量作为参数值传入swrap,传入swrap方法传入的只是a b的副本,
详细 的内容请看李刚老师的疯狂java讲义 |