Java中在类定义了一个静态变量,然后用第二个类中修改了静态变量, 为什么第三个类调用还是原来的数?
public class Test_01 {
public static boolean flag = false;
}
public class Test_02 {
public Test_02(){
Test_01.flag = true;
}
}
public class Test_03 {
public static void main(String[] args) {
System.out.println(Test_01.flag);
}
}
但最终打印结果为false
你这个只是定义了,并没有执行,你像我下面写的这样执行一下才会变的
public class Test_01 {
public static boolean flag = false;
}
public class Test_02 {
public Test_02(){
Test_01.flag = true;
}
}
public class Test_03 {
public static void main(String[] args) {
Test_02 t = new Test_02();
System.out.println(Test_01.flag);
}
}
麻烦贴下代码
看看你是怎么定义的,如果是public的,又没有设置为final,确实是可以改的。
public class Test_01 {
public static boolean flag = false;
}
public class Test_02 {
public Test_02(){
Test_01.flag = true;
}
}
public class Test_03 {
public static void main(String[] args) {
System.out.println(Test_01.flag);
}
}
你得实例化对象
Test_02的构造器没有被执行地方 falg当然改不了