由於以下snipet,我得到了「1 0 1」,但我不知道爲什麼,所以我期待「1 1 1」作爲結果。請任何人都可以向我解釋事情角落找尋如何去java計算的意外結果
public class Qcb90 {
int a;
int b;
public void f() {
a = 0;
b = 0;
int[] c = { 0 };
g(b, c);
System.out.println(a + " " + b + " " + c[0] + " ");
}
public void g(int b, int[] c) {
a = 1;
b = 1;
c[0] = 1;
}
public static void main(String[] args) {
Qcb90 obj = new Qcb90();
obj.f();
}
}
的'B'在'g'是它的功能參數,在'F'是成員的'B'。在'g'中使用'this.b'來分配給成員。 – BeyelerStudios
this.a = 1; this.b = 1; – Damiano
[Java是否爲「傳遞參考」或「按值傳遞」?](http://stackoverflow.com/questions/40480/is-java-pass-by-reference-or-pass按值) –