【发布时间】:2014-02-24 05:40:20
【问题描述】:
class Util{
public static void F(Point p, Point q) {
p.x = 42;
p = q;
}
}
…
Point a = new Point(10,20);
Point b = new Point(30,40);
Util.F(a,b);
System.out.println(a.x + " " + b.x);
如果有人能解释一下为什么输出是42 30
提前致谢!
【问题讨论】:
-
如果
b.x = 42那么所有Java代码都会崩溃,甚至更糟的是整个universe!! -
谢谢,我想如果函数是静态的,那会改变一些东西。
标签: java function parameter-passing