gpt4 book ai didi

java - 我在一本关于序列化/反序列化对象的java教科书中看到以下段落,我发现它是错误的,对吗?

转载 作者:太空宇宙 更新时间:2023-11-04 06:20:17 25 4
gpt4 key购买 nike

正文如下:

If the object has a non-serializable class somewhere up its inheritance tree, the constructor for that non-serializable class will run along with any constructors above that (even if they're serializable). Once the constructor chaining begins, you can't stop it, which means all superclasses, beginning with the first non-serializable one, will reinitialize their state.

我的问题是,如果一个类是不可序列化的,那么它的任何父类(super class)如何是可序列化的(这就是他们所说的“即使它们是可序列化的”时所暗示的),因为如果它们是可序列化的,那么所讨论的“不可序列化”子类也应该是可序列化的。

最佳答案

确实如此,“(即使它们是可序列化的)”令人困惑。当您正确解释时,可序列化性是由 implements Serialized 声明的,它像任何其他接口(interface)一样继承。因此,Serialized 类不能有非Serialized 子类,至少按照接口(interface)的定义是这样。因此,“使用任何高于该值的构造函数(即使它们是可序列化的)”是没有意义的。

Serialized 的子类仍然可以通过在运行时以多种方式破坏事物来防止序列化,但这并不会使它们根据 Serialized 的技术定义变得不Serialized

关于java - 我在一本关于序列化/反序列化对象的java教科书中看到以下段落,我发现它是错误的,对吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27478376/

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