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 ?