繁体   English   中英

静态变量在序列化时如何访问

[英]How can static variable is accessed while its serialized

我有:

public class Mouse implements Serializable {


    int i=100,j=200;
    static int k=100;



    public static void main(String[] args) throws IOException {

        Mouse m=new Mouse();

        FileOutputStream fos=new FileOutputStream("E:\\santosh.txt");
        ObjectOutputStream os=new ObjectOutputStream(fos);
        os.writeObject(m);
        os.flush();
        System.out.println("success");

        os.writeObject(m);
        os.flush();

    }

和:

 public class Cat {


    public static void main(String[] args) throws IOException, ClassNotFoundException {

        FileInputStream fis=new FileInputStream("E:\\santosh.txt");
        ObjectInputStream oi=new ObjectInputStream(fis);

        Mouse m=(Mouse) oi.readObject();

        System.out.println("i="+m.i+" j="+m.j);
        System.out.println("k="+m.k );
    }
}

我得到的输出是i = 100 j = 200 k = 100。 如何访问静态变量。

它根本没有序列化,因此在序列化时也无法访问。 该值在接收器处不受干扰。 它最初声明为100,这就是您所看到的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM