今天在写代码的时候产生了一个很奇怪的问题:静态类里的数据在其他类中更改之后,是否会保存
然后就动手试验了一下,结果是
·在更改数据的类中,输出数据都是更够以后的数据
·在先执行更改数据的类之后执行第二个类来输出静态类内部变量,发现未被更改
由此得出结论,每次更改的数据是以类为单位的局部变量
贴上实验类源码:
静态存储类
public class static_test { public static String the_user = "ll"; public static int dd; public static double mm; }
更改数据类一
public class main { public static void main(String[] args) { static_test.mm =2.00; static_test.dd =2; static_test.the_user = "admin"; System.out.println(static_test.mm+" "+static_test.dd+" "+static_test.the_user); test_1(); } public static void test_1() { System.out.println(static_test.mm+" "+static_test.dd+" "+static_test.the_user); } }
输出为:
输出类二:
public class main_2 { public static void main(String[] args) { System.out.println(static_test.mm+" "+static_test.dd+" "+static_test.the_user); } }
输出为:
//20200302_update
如果在一个类中调用另一个类(此类中有引用静态存储类变量),则在第二个类运行时可以获得第一个类存储的值
以上