我正在阅读java.io
的文档,当我注意到ObjectInputStream.readObjectOverride()
的描述时说:
"此方法由 ObjectOutputStream 的受信任子类调用..."
并且ObjectOutputStream.writeObjectOverride()
的描述说明了这一点:
"此方法由 ObjectInputStream 的可信子类调用..."。
(强调我的两个引号)
之前我已对序列化了对象,但从未对ObjectInputStream
或ObjectOutputStream
进行了子类化。为什么ObjectInputStream
的子类需要调用writeObjectOverride
而不是readObjectOverride
,反之亦然?
答案 0 :(得分:0)
ObjectOutputStream.writeObjectOverride似乎完全坏了。这种用例是仅在创建不带参数的ObjectOutputStream时才调用它。这意味着您无法调用实际上可以编写任何内容的任何方法。
我根本想不出一个用例。