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