1
在反序列化期间,在从输入流中恢复任何类实例对象之前,是否保证子类被初始化?具体来说,我有一个静态字段的子类,我想在超类readObject()
方法中访问。我可以指望子类静态字段有效吗?java反序列化期间类初始化的顺序
在反序列化期间,在从输入流中恢复任何类实例对象之前,是否保证子类被初始化?具体来说,我有一个静态字段的子类,我想在超类readObject()
方法中访问。我可以指望子类静态字段有效吗?java反序列化期间类初始化的顺序
我不是BNF的专家,但protocol spec系列化
classDescInfo:
classDescFlags fields classAnnotation superClassDesc
显示,超信息来自后类信息。所以看起来你可以依赖你的子类静态字段。
正确答案,误导性推理。即使协议定义不同,在创建实例之前,您始终保证有一个已初始化的类(除非您在类初始化程序本身中创建实例)。 – Holger