如果父类没有实现可序列化,那么序列化子类?

emi*_*lly 7 java serialization

public class Employee2 extends Employee1 {} 

public class Employee1  extends Employee0 {}

public class Employee0  {}
Run Code Online (Sandbox Code Playgroud)

现在我序列化Employee2类和

get the error  java.io.NotSerializableException: Employee2
Run Code Online (Sandbox Code Playgroud)

现在如果将Employee1类更改为def

public class Employee1  extends Employee0 implements java.io.Serializable {}
Run Code Online (Sandbox Code Playgroud)

它工作正常,但请注意Employee0仍然没有实现Serializable

Base类必须实现Serializable来序列化子类吗?如果是,为什么它只强制用于Employee1而不用于Employee0?

根据我的例子,它看起来像是,但根据网上的其他文章,这不应该是强制性的.那我在这里缺少什么?

chr*_*ke- 5

如果要序列化Employee2对象,Employee2必须实现Serializable(最好是直接而不是继承它).你没有得到异常,因为Employee1它不是可序列化的,你得到它是因为Employee2不是,你还是试图序列化它.

Employee1并且Employee0不一定必须实现Serializable,但如果它们不必,则必须具有无参数构造函数(以便序列化程序可以实例化重构的Employee2对象).