为了账号安全,请及时绑定邮箱和手机立即绑定

关于ObjectOutPutStream对象oos在调用writeObject(Student s)方法如何去调用Student重写的writeObject(ObjectOutPutStream oos)方法

ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream("e:\\test\\objectSerializable.txt"));

Student s=new Student("张三",20);

/**

* 这个最后的oos.writeObject(s);在实现的过程中,

* 会通过反射在s中寻找方法名为writeObject,

* 参数为ObjectOutputStream的方法,

* 如果找到了就会调用s.writeObject(oos)的方法;

* 没找到的话会使用默认的实现,

* 这种情况下你的这个类中的age字段由于是transient的就会丢失掉。

* 反过来读取对象的时候也是这样的。

*/

oos.writeObject(s);


正在回答

1 回答

通过反射会去调用你所要序列化的对象是否有对应名称的方法,来决定是否采用默认的

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

关于ObjectOutPutStream对象oos在调用writeObject(Student s)方法如何去调用Student重写的writeObject(ObjectOutPutStream oos)方法

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信