2015-12-22 95 views
1

在反序列化期間,在從輸入流中恢復任何類實例對象之前,是否保證子類被初始化?具體來說,我有一個靜態字段的子類,我想在超類readObject()方法中訪問。我可以指望子類靜態字段有效嗎?java反序列化期間類初始化的順序

回答

1

我不是BNF的專家,但protocol spec系列化

classDescInfo: 
    classDescFlags fields classAnnotation superClassDesc 

顯示,超信息來自類信息。所以看起來你可以依賴你的子類靜態字段。

+0

正確答案,誤導性推理。即使協議定義不同,在創建實例之前,您始終保證有一個已初始化的類(除非您在類初始化程序本身中創建實例)。 – Holger