ObjectOutputStream的write方法的方法签名为

public final void writeObject(Object obj) throws IOException

由于obj应该实现Serializable(了解标记)。
为什么Java开发人员不将此方法编写为
public final void writeObject(Serializable obj) throws IOException

有什么原因吗?

最佳答案

writeObject是在ObjectOutput接口(interface)中定义的,其API表示为The class that implements this interface defines how the object is written。这意味着从理论上讲,可能存在除ObjectOutputStream之外的实现,这些实现可能正在使用不需要对象可序列化的其他序列化方式。

10-08 13:20