readObject的签名如下:
private void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException;
该函数接受一个具体类类型的引用。
readExternal的签名为:
void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
需要引用一个接口类型。
那么为什么会出现这种差异呢?是因为疏忽吗?