67,513
社区成员
发帖
与我相关
我的任务
分享
public class TestJava3 {
int m_x = 1;
public static void main(String[] args) {
TestJava3 t = new TestJava3();
show(t);//将参数改为t,为何输出结果不同?
System.out.print(t.m_x);//如果将上一行改为show(t),输出结果为何不同?
}
public static void show(int p_x) {
System.out.println("show(int p_x):Start");
p_x = 4;
System.out.println("show(int p_x):End");
}
public static void show(TestJava3 t) {
System.out.println("show(TestJava1 t):Start");
t.m_x = 3;
System.out.println("show(TestJava1 t):End");
}
}
show(TestJava1 t):Start
show(TestJava1 t):End
3
public class TestJava1 {
int m_x = 1;
public static void main(String[] args) {
TestJava1 t = new TestJava1();
show(t.m_x);//将参数改为t,为何输出结果不同?
System.out.print(t.m_x);//如果将上一行改为show(t),输出结果为何不同?
}
public static void show(int p_x) {
System.out.println("show(int p_x):Start");
p_x = 4;
System.out.println("show(int p_x):End");
}
public static void show(TestJava1 t) {
System.out.println("show(TestJava1 t):Start");
t.m_x = 3;
System.out.println("show(TestJava1 t):End");
}
}
show(int p_x):Start
show(int p_x):End
1