gpt4 book ai didi

java - 如果父类不实现可序列化,则序列化子类?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:27:53 24 4
gpt4 key购买 nike

public class Employee2 extends Employee1 {} 

public class Employee1 extends Employee0 {}

public class Employee0 {}

现在我序列化 Employee2 类和

get the error  java.io.NotSerializableException: Employee2

现在如果将 Employee1 类定义更改为

public class Employee1  extends Employee0 implements java.io.Serializable {}

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

基类必须实现Serializable才能序列化子类吗?如果是,为什么它只对 Employee1 而不是 Employee0 是强制性的?

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

最佳答案

如果你想序列化一个Employee2对象,Employee2必须实现Serializable(最好是直接实现而不是继承它)。您没有收到异常是因为 Employee1 不可序列化,您收到异常是因为 Employee2 不可序列化,您还是尝试对其进行序列化。

Employee1Employee0 不一定要实现 Serializable,但如果不实现,则它们必须没有参数构造函数(以便序列化程序可以实例化重构的 Employee2 对象)。

关于java - 如果父类不实现可序列化,则序列化子类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20475713/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com