最近从任何渠道了解到,自定义序列化是一个过程,我们可以在我们的 Serializable 类中定义 writeObject(ObjectOutputStream os) 和 readObject(ObjectInputStream is),这些方法将在序列化和反序列化时执行分别执行我们的功能。
后来,我才知道 Externalization 是一个接口,它定义了 2 个方法: 1- writeExternal() 2- readExternal()
当我们不想序列化整个对象时,我们的类可以实现 Externalizable 并覆盖这些方法。这些方法将在序列化和反序列化时执行。
我怀疑为什么我们不能通过实现 Serializable 并定义 writeObject(ObjectOutputStream os) 和 readObject(ObjectInputStream is) 方法来使用自定义序列化,甚至序列化对象的某些属性。为什么这种外化出现在画面中。
谢谢,