令人困惑的readObjectOverride和writeObjectOverride

时间:2017-07-29 20:28:59

标签: java serialization java-io objectinputstream objectoutputstream

我正在阅读java.io的文档,当我注意到ObjectInputStream.readObjectOverride()的描述时说:

  

"此方法由 ObjectOutputStream 的受信任子类调用..."

并且ObjectOutputStream.writeObjectOverride()的描述说明了这一点:

  

"此方法由 ObjectInputStream 的可信子类调用..."。

(强调我的两个引号)

之前我已对序列化了对象,但从未对ObjectInputStreamObjectOutputStream进行了子类化。为什么ObjectInputStream的子类需要调用writeObjectOverride而不是readObjectOverride,反之亦然?

1 个答案:

答案 0 :(得分:0)

ObjectOutputStream.writeObjectOverride似乎完全坏了。这种用例是仅在创建不带参数的ObjectOutputStream时才调用它。这意味着您无法调用实际上可以编写任何内容的任何方法。

我根本想不出一个用例。