[英]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.