W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
public interface Externalizable
extends Serializable
只有 Externalizable 實例的類的標(biāo)識被寫入序列化流中,并且類有責(zé)任保存和恢復(fù)其實例的內(nèi)容。 Externalizable 接口的 writeExternal 和 readExternal 方法由一個類實現(xiàn),以使該類可以完全控制對象及其超類型的流的格式和內(nèi)容。這些方法必須顯式地與超類型協(xié)調(diào)以保存其狀態(tài)。這些方法取代了 writeObject 和 readObject 方法的自定義實現(xiàn)。對象序列化使用 Serializable 和 Externalizable 接口。對象持久性機制也可以使用它們。每個要存儲的對象都針對 Externalizable 接口進行了測試。如果對象支持 Externalizable,則調(diào)用 writeExternal 方法。如果對象不支持 Externalizable 并且實現(xiàn)了 Serializable,則使用 ObjectOutputStream 保存對象。重構(gòu) Externalizable 對象時,會使用公共無參數(shù)構(gòu)造函數(shù)創(chuàng)建實例,然后調(diào)用 readExternal 方法??尚蛄谢瘜ο笫峭ㄟ^從 ObjectInputStream 中讀取來恢復(fù)的。 Externalizable 實例可以通過 Serializable 接口中記錄的 writeReplace 和 readResolve 方法指定替換對象。
Since:
JDK1.1
修飾符和類型 | 方法 | 描述 |
---|---|---|
void | readExternal(ObjectInput in) | 該對象實現(xiàn)了 readExternal 方法來恢復(fù)其內(nèi)容,方法是調(diào)用基本類型的 DataInput 方法和對象、字符串和數(shù)組的 readObject 方法。 |
void | writeExternal(ObjectOutput out) | 對象實現(xiàn) writeExternal 方法以保存其內(nèi)容,方法是調(diào)用 DataOutput 的方法獲取其原始值,或者調(diào)用 ObjectOutput 的 writeObject 方法獲取對象、字符串和數(shù)組。 |
void writeExternal(ObjectOutput out) throws IOException
對象實現(xiàn) writeExternal 方法以保存其內(nèi)容,方法是調(diào)用 DataOutput 的方法獲取其原始值,或者調(diào)用 ObjectOutput 的 writeObject 方法獲取對象、字符串和數(shù)組。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
out | 將對象寫入的流 |
Throws:
Throw名稱 | Throw描述 |
---|---|
IOException | 包括可能發(fā)生的任何 I/O 異常 |
void readExternal(ObjectInput in) throws ClassNotFoundException, IOException
該對象實現(xiàn)了 readExternal 方法來恢復(fù)其內(nèi)容,方法是調(diào)用基本類型的 DataInput 方法和對象、字符串和數(shù)組的 readObject 方法。 readExternal 方法必須以與 writeExternal 寫入的相同順序和相同類型讀取值。
參數(shù):
參數(shù)名稱 | 參數(shù)描述 |
---|---|
in | 要從中讀取數(shù)據(jù)以恢復(fù)對象的流 |
Throws:
Throw名稱 | Throw描述 |
---|---|
IOException | 如果發(fā)生 I/O 錯誤 |
ClassNotFoundException | 如果找不到正在恢復(fù)的對象的類。 |
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: