这是我的第一个类Hello.java。
public class Hello {
String name = "";
}
这是我的第二个Class Test1.java
。public class Test1 {
public static void main(String[] args) {
Hello h = new Hello();
Test1 t = new Test1();
t.build(h);
System.out.println(h.name);
}
void build(Hello h){
h.name = "me";
}
}
当我运行Test1.java时,它会打印出“me”。我认为我理解了,因为存在“引用传递”的原因。
这是我的第三个类Test2.java。
public class Test2 {
public static void main(String[] args) {
Hello h = null;
Test2 t = new Test2();
t.build(h);
System.out.println(h == null);
}
void build(Hello h){
h = new Hello();
}
}
当我运行Test2.java时,它会打印出“true”,为什么?这是因为“引用传递”不再存在吗?我感到困惑。