传递规则
//如果参数是基本数据类型,此时实参赋给形参的是实参真实存储的数据值。
//如果参数是引用数据类型,此时实参赋给形参的是实参存储数据的地址值。
public class TransferTest3 {
public static void main(String args[]) {
TransferTest3 test = new TransferTest3();
test.first();
}
public void first(){
int i = 5;
Value v = new Value();
v.i = 25;//假设v的地址为0X123
second(v, i);
System.out.println(v.i);
}
public void second (Value v,int i){//v的地址为0X123
i = 0;
v.i = 20;//v的地址为0X123
Value val = new Value();
//假设val的地址为0X222
v = val;//在执行完这一步过后 指针已经发生了变化
//这一步是把v的地址指向了0X222 但是上面那个v没有变化
System.out.println(v.i + " " + i);
}
class Value{
int i=15;
}
//最后运行结果为
15 0
20