В результате следующего снайпера я получил «1 0 1», но я не знаю, почему, ожидая «1 1 1». пожалуйста, может кто-нибудь объяснить мне, как идут дела ArroundНеожиданный результат вычисления 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' является параметром функции, то '' b' в f' является членом. используйте 'this.b' в' g' для назначения члену. – BeyelerStudios
this.a = 1; this.b = 1; – Damiano
Возможный дубликат [Является ли Java «сквозной ссылкой» или «передачей по значению»?] (Http://stackoverflow.com/questions/40480/is-java-pass-by-reference-or-pass -by-value) –