我正在阅读一些关于Java序列化的资料,发现对于自定义类型,我们可以在类型中定义两个成员函数来改变默认的序列化行为:
private void readObject(java.io.ObjectInputStream in)
private void writeObject(java.io.ObjectOutputStream out)
对此我有两个疑问:
1. 这两个函数都是用private
关键字限定的,在序列化过程中它们是如何调用的?
2、我们都知道JavaSerializable
接口是一个空接口,那么序列化机制是怎么知道调用这两个函数进行序列化和反序列化的呢?
期待您的帮助!
程