在自行序列化的时,在自行序列化的类中重写的方法writeObject和readObject方法是怎么被调用的,程序中也没有用该类对象调用这两个方法啊?具体的逻辑是怎样的呢,是自行就被调用了吗?
在自行序列化的时,在自行序列化的类中重写的方法writeObject和readObject方法是怎么被调用的,程序中也没有用该类对象调用这两个方法啊?具体的逻辑是怎样的呢,是自行就被调用了吗?
在自行序列化的时,在自行序列化的类中重写的方法writeObject和readObject方法是怎么被调用的,程序中也没有用该类对象调用这两个方法啊?具体的逻辑是怎样的呢,是自行就被调用了吗?
2017-09-18
随随便便就给别人最佳回答?你自己搞懂了?
因为这是规定:
在序列化过程中,如果被序列化的类中定义了writeObject 和 readObject 方法,虚拟机会试图调用对象类里的 writeObject 和 readObject 方法,进行用户自定义的序列化和反序列化。
如果没有这样的方法,则默认调用是 ObjectOutputStream 的 defaultWriteObject 方法以及 ObjectInputStream 的 defaultReadObject 方法。
用户自定义的 writeObject 和 readObject 方法可以允许用户控制序列化的过程,比如可以在序列化的过程中动态改变序列化的数值。
具体看这篇文章:http://www.hollischuang.com/archives/1140
举报