关于java静态存储类的一个知识点

今天在写代码的时候产生了一个很奇怪的问题:静态类里的数据在其他类中更改之后,是否会保存

然后就动手试验了一下,结果是

·在更改数据的类中,输出数据都是更够以后的数据

·在先执行更改数据的类之后执行第二个类来输出静态类内部变量,发现未被更改

由此得出结论,每次更改的数据是以类为单位的局部变量

贴上实验类源码:

静态存储类

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

如果在一个类中调用另一个类(此类中有引用静态存储类变量),则在第二个类运行时可以获得第一个类存储的值

 

以上

 

posted @ 2020-02-27 17:25  醉生梦死_0423  阅读(398)  评论(0编辑  收藏  举报