1
在反序列化期間,在從輸入流中恢復任何類實例對象之前,是否保證子類被初始化?具體來說,我有一個靜態字段的子類,我想在超類readObject()
方法中訪問。我可以指望子類靜態字段有效嗎?java反序列化期間類初始化的順序
在反序列化期間,在從輸入流中恢復任何類實例對象之前,是否保證子類被初始化?具體來說,我有一個靜態字段的子類,我想在超類readObject()
方法中訪問。我可以指望子類靜態字段有效嗎?java反序列化期間類初始化的順序
我不是BNF的專家,但protocol spec系列化
classDescInfo:
classDescFlags fields classAnnotation superClassDesc
顯示,超信息來自後類信息。所以看起來你可以依賴你的子類靜態字段。
正確答案,誤導性推理。即使協議定義不同,在創建實例之前,您始終保證有一個已初始化的類(除非您在類初始化程序本身中創建實例)。 – Holger