|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
public interface Externalizable
Externalizable 實例類別的唯一特性是可以被寫入序列化串流中,該類別負責保存和恢復實例內容。
若某個要完全控制某一對象及其父級類別型的串流格式和內容,則它要實作 Externalizable 介面的 writeExternal 和 readExternal 方法。這些方法必須顯式與父級類別型進行協調以保存其狀態。這些方法將代替定制的 writeObject 和 readObject 方法實作。
Serialization 物件將使用 Serializable 和 Externalizable 介面。物件持久性機制也可以使用它們。要存儲的每個物件都需要檢測是否支持 Externalizable 介面。如果物件支持 Externalizable,則調用 writeExternal 方法。如果物件不支持 Externalizable 但實作了 Serializable,則使用 ObjectOutputStream 保存該物件。
在重構 Externalizable 物件時,先使用無參數的公共建構子創建一個實例,然後調用 readExternal 方法。通過從 ObjectInputStream 中讀取 Serializable 物件可以恢復這些物件。
Externalizable 實例可以通過 Serializable 介面中記錄的 writeReplace 和 readResolve 方法來指派一個替代物件。
ObjectOutputStream
,
ObjectInputStream
,
ObjectOutput
,
ObjectInput
,
Serializable
方法摘要 | |
---|---|
void |
readExternal(ObjectInput in)
物件實作 readExternal 方法來恢復其內容,它通過調用 DataInput 的方法來恢復其基礎型別,調用 readObject 來恢復物件、字元串和陣列。 |
void |
writeExternal(ObjectOutput out)
該物件可實作 writeExternal 方法來保存其內容,它可以通過調用 DataOutput 的方法來保存其基本值,或調用 ObjectOutput 的 writeObject 方法來保存物件、字元串和陣列。 |
方法詳細資訊 |
---|
void writeExternal(ObjectOutput out) throws IOException
out
- 要寫入物件的串流
IOException
- 套件含可能發生的所有 I/O 異常void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
in
- 為了恢復物件而從中讀取資料的串流
IOException
- 如果發生 I/O 錯誤
ClassNotFoundException
- 如果無法找到需要恢復的某個物件的類別。
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。