假如有一个实现了序列化的类a,a中有3个属性b,c,d,同时b,c,d也都是对象,现在我把a存入文件,请问我想只读出d,可以做到吗?

解决方案 »

  1.   

    请问,你把a存入文件,是以什么方式或者说以什么样的数据格式保存对象a的信息到文件?
    不好意思我没太懂,就是用java.io里面的ObjectOutputStream的writeObject方法
      

  2.   

    使用transient关键字
    public class a implements Serializable {
            private static final long serialVersionUID = -7490654452791933426L;
            private transient ObjectB b;
            private transient ObjectC c;
            private ObjectD d;
    }
      

  3.   

    不想被实例化的属性前面加transient关键字
      

  4.   

    没有那么麻烦,4楼的方法就可以了。如果楼主连a都不想要,只需要执行2次ObjectInputStream的readObject方法就行了,第一次读的是a,第二次读的是d。