让我们有三个类命名Tester_1,Tester_2,Tester_3.它们被定义为:
Tester_1:
class Tester_1 {
public static void main(String args[]) {
Tester_2.setBoolean(true);
System.out.println(Tester_2.getBoolean());
}
}
Run Code Online (Sandbox Code Playgroud)
Tester_2:
class Tester_2 {
public static boolean var = false; // Static var
public static void setBoolean(boolean value) {
var = value;
}
public static boolean getBoolean() {
return var;
}
}
Run Code Online (Sandbox Code Playgroud)
Tester_3:
class Tester_3 {
public static void main(String args[]) {
System.out.println(Tester_2.getBoolean());
}
}
Run Code Online (Sandbox Code Playgroud)
在编译完所有三个类之后,我按以下顺序运行它们:
java Tester_1
java Tester_3
Run Code Online (Sandbox Code Playgroud)
但我得到这个输出:
真正从第一次运行和假从第二次运行.这是为什么 ?当Tester_1将布尔值设置为一个值时,true为什么我false在运行Tester_3时会得到默认值?