gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 12:19:33 25 4
gpt4 key购买 nike

我有:

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=200k=100。如何访问静态变量?

最佳答案

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

关于java - 静态变量在序列化时如何访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26798098/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com