|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Externalizable インスタンスでは、このクラスの識別情報だけが直列化ストリームに書き込まれます。Externalizable インスタンスの内容は、このクラスが保存および格納します。このクラスは、Externalizable インタフェースの writeExternal メソッドと readExternal メソッドを実装して、オブジェクトとそのスーパータイプのストリームの形式と内容をすべて制御します。これらのメソッドは明示的にスーパータイプと連携しながら、オブジェクトの状態を保存する必要があります。これらのメソッドは、writeObject メソッドと readObject メソッドのカスタマイズされた実装よりも優先されます。
Serialization オブジェクトは、Serializable インタフェースと Externalizable インタフェースを使います。オブジェクト持続性の機構も、そうしたインタフェースを使うことができます。格納される各オブジェクトは、Externalizable インタフェースのためにテストされます。オブジェクトが Externalizable をサポートする場合、writeExternal メソッドが呼び出されます。オブジェクトが Externalizable インタフェースをサポートせず、Serializable インタフェースを実装する場合、オブジェクトは ObjectOutputStream を使って保存されます。
Externalizable オブジェクトが再構築されると、引数なしの public コンストラクタを使ってインスタンスが生成され、readExternal メソッドが呼び出されます。直列化可能オブジェクトを復元するには、ObjectInputStream から読み込みます。
Externalizable のインスタンスは、直列化可能インタフェースに記載されている writeReplace メソッドと readResolve メソッドによって代替オブジェクトを指定できます。
ObjectOutputStream
,
ObjectInputStream
,
ObjectOutput
,
ObjectInput
,
Serializable
メソッドの概要 | |
void |
readExternal(ObjectInput in)
オブジェクトが実装している readExternal メソッドは、DataInput インタフェースのメソッド (プリミティブ型の場合) および ObjectInput インタフェースの readObject メソッド (オブジェクト、文字列、配列の場合) を呼び出すことにより、オブジェクトの内容を復元します。 |
void |
writeExternal(ObjectOutput out)
オブジェクトが実装している writeExternal メソッドは、DataOutput インタフェースのメソッド (プリミティブ型の場合) および ObjectOutput インタフェースの writeObject メソッド (オブジェクト、文字列、配列の場合) を呼び出して、オブジェクトの内容を保存します。 |
メソッドの詳細 |
public void writeExternal(ObjectOutput out) throws IOException
out
- オブジェクトを書き込むストリーム
IOException
- 発生する可能性があるすべての入出力例外public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
in
- オブジェクトを復元するためのデータ読み取り元のストリーム
IOException
- 入出力エラーが発生した場合
ClassNotFoundException
- 復元しようとしてるオブジェクトに対応するクラスが見つからない場合
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.