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

关于重写writeObject方法需要传入一个ObjectOutpuStream参数,但调用这个方法却实际传入一个Stu对象?

private void writeObject(java.io.ObjectOutputStream s)
            throws java.io.IOException{
        s.defaultWriteObject();//把虚拟机能默认虚拟化的元素虚拟化
	s.writeInt(stuage);//自己完成stuage的序列化
}
oos.writeObject(stu);

第一段代码相当于重写了writeObject方法,问题是oos对象调用这个方法传入的是一个Student类型的对象stu,而重写的方法里面的需要传入参数是ObjectOutputStream s。这两个参数的类型都不一样,为什么会这样?

正在回答

2 回答

重写了writeObject方法传入的确实是一个ObjectOutputStream类的对象s,这个s调用方法时需要传入一个Student类的对象stu

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

还有你理解的参数类型不对吧!writeObject()方法指的是对某个对象进行序列化,这个对象多了去了

而上面的那个方法是指对该对象的元素能否进行序列化,做的一个区分,分为能进行默认序列化的和单独进行序列化的。这个方法不是说要对某个对象进行序列化,和你说的writeObject()方法不一样

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

举报

0/150
提交
取消

关于重写writeObject方法需要传入一个ObjectOutpuStream参数,但调用这个方法却实际传入一个Stu对象?

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