【发布时间】:2013-04-26 14:45:21
【问题描述】:
当我阅读Thinking in java中关于Serializable接口的时候,有一句话说:
如果使用默认机制写入对象的非瞬态部分,则必须调用 defaultWriteObject( ) 作为 writeObject( ) 中的第一个操作,并将 defaultReadObject( ) 作为 readObject( ) 中的第一个操作。
添加 writeObject/readObject 方法 - 如果读取流的版本具有这些方法,那么 readObject 应该像往常一样读取通过默认序列化写入流的所需数据。在读取任何可选数据之前,它应该首先调用 defaultReadObject。 writeObject 方法应该像往常一样调用 defaultWriteObject 来写入所需的数据,然后可以写入可选的数据。
所以如果我不先打电话给defaultWriteObject,如果我在打电话之前写了别的东西,会有什么问题吗?我已经尝试过了,但它似乎在我的示例中仍然有效。那么如果有任何问题,在什么情况下会发生呢?
【问题讨论】:
-
之所以如此,是因为如此。除非您在这里找到一位原始设计师,这是不太可能的,否则您在这里获得的任何东西或多或少都是无知的猜测。没有建设性。
标签: java serialization