gpt4 book ai didi

java - 设计抽象类时是否应该考虑序列化问题?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:32:37 24 4
gpt4 key购买 nike

一般这个问题来自Eclipse建议在抽象类上添加一个串行版本的UID。

由于类是抽象类,因此此类的实例永远不会存在,因此它们永远不会被序列化(只有派生类才会被序列化)。

所以我的问题是将一个 @SuppressWarnings("serial") 放在一个扩展器将被序列化(并且它们将具有 serialVersionUID)的抽象类上是否安全?

也欢迎在设计扩展器将被序列化的抽象类时注意任何其他问题。

谢谢。

最佳答案

如果不是绝对需要(如果它没有状态),不要使抽象类可序列化。您将需要终生维护类序列化形式,并为以前版本的序列化形式提供向后兼容性。但是你仍然需要提供一个无参数的构造函数,以防扩展类自己实现 Serializable。

如果你决定实现Serializable接口(interface),你需要抽象类上的序列化版本uid,否则当抽象类的新版本发布时,扩展类的序列化形式会中断。

关于java - 设计抽象类时是否应该考虑序列化问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8257380/

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