Let there be three classes named Tester_1
,Tester_2
,Tester_3
. They are defined as :
Tester_1:
class Tester_1 {
public static void main(String args[]) {
Tester_2.setBoolean(true);
System.out.println(Tester_2.getBoolean());
}
}
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;
}
}
Tester_3:
class Tester_3 {
public static void main(String args[]) {
System.out.println(Tester_2.getBoolean());
}
}
After I compile all the three classes, I run them in the following order :
java Tester_1
java Tester_3
but I get this output :
true from the first run and false from the second run. Why is that ? When Tester_1 sets the boolean to a value true
why do I get the default false
when I run Tester_3 ?