本帖最后由 乎¤_¤乎 于 2013-5-24 20:22 编辑
知道了静态成员是不能被序列化的,现在Person类中 有一个 public static String cont=“cn”但是为什么如下程序能够打印出 “huhu”,而注释打印的功能先执行写入对象,再把写入对象的功能注释,执行打印功能,就能打印出“cn”???- public class Demo {
- public static void main(String[] args)throws Exception {
- writeObj();//写入对象
- System.out.println(readObj());//打印对象的国籍
- }
- public static void writeObj()throws Exception
- {
- ObjectOutputStream oop=new ObjectOutputStream(new FileOutputStream("1.txt"));
- oop.writeObject(new Person("张三",24,"huhu"));
- oop.close();
- }
- public static String readObj()throws Exception
- {
- ObjectInputStream oip=new ObjectInputStream(new FileInputStream("1.txt"));
- Person p=(Person) oip.readObject();
- oip.close();
- return p.getCont();
- }
- }
复制代码 |