我有:
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 。如何访问静态变量。
答案 0 :(得分:1)
它根本没有序列化,因此在序列化时也不会被访问。它的值在接收器处不受干扰。它最初声明为100,这就是你所看到的。