下面程序结果为:( )
class Wrench {
public static void main(String[] args) {
Wrench w = new Wrench();
Wrench w2 = new Wrench();
w2 = go(w, w2);
System.out.print(w2 == w);
}
static Wrench go(Wrench wrl, Wrench wr2) {
Wrench wr3 = wrl;
wrl = wr2;
wr2 = wr3;
return wr3;
}
}false
true
编译失败
运行的时候有异常抛出
wr1和wr2都是“引用”,引用作为参数是值传递。
对引用赋值,修改的只是引用,所以,go函数的运算没有起到数值交换的作用。
对引用赋值,修改的只是引用,所以,go函数的运算没有起到数值交换的作用。