由于下面的snipet,我得到了"1 0 1",但我不知道为什么,因此我期待"1 1 1".请有人向我解释事情是如何发生的
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();
}
}
Run Code Online (Sandbox Code Playgroud) 我有以下snipet代码:
class Phone {
String phoneNumber = "123456789";
void setNumber () {
String phoneNumber;
phoneNumber = "987654321";
}
}
class TestPhone {
public static void main(String[] args) {
Phone p1 = new Phone();
p1.setNumber();
System.out.println (p1.phoneNumber);
}
}
Run Code Online (Sandbox Code Playgroud)
我期待"987654321"作为结果,但我得到"123456789"它就像方法setNumber没有任何影响任何人都可以帮助我理解请
java ×2