现在有两个类
public class Test1 {
public static Integer i = 1;
public static void main(String[] args) throws InterruptedException {
while (true){
System.out.println(i++);
Thread.sleep(3000);
System.out.println("i = "+i);
}
}
}
public class Test {
public static void main(String[] args) {
System.out.println(Test1.i);
}
}
我的理解是:在我启动了Test1类的main方法后,会对一直修改Test1的属性,由于这个属性是静态的,所以属性i的修改是可以被所有类所观察到的。当Test1运行一段时间后,再运行Test的main方法来获取Test1类的属性,这个时候获取到的属性应该是修改后的属性了。
结果是:Test中获取的属性是初始值1,Test1运行好像没有生效,是我哪里理解错了吗?