java.lang.Cloneableは、オブジェクトをシリアライズ化するためのインターフェースです。
java.lang.Cloneableの特徴
java.lang.Cloneableは以下の特徴があります。
- メソッドやフィールドが全く定義されていないマーカーインターフェースである。
- オブジェクトのクローンを作成できることを示すために実装される。
java.lang.Cloneableを実装したクラスは、cloneメソッドをオーバーライドしてクローン生成処理を実装する必要があります。
cloneメソッドはshallow copyを返すので、deep copyとしたい場合は再帰でクローンを実装してください。
また、cloneメソッドはCloneNotSupportedExceptionが発生する可能性があります。
java.lang.Cloneableの継承・実装
継承インターフェース
・なし
導入バージョン
・JDK1.0
java.lang.CloneableのAPI
フィールド、メソッドは一切定義されていません。
java.lang.Cloneableサンプル
- (クローン可能なクラスの定義の例)
-
public class TestCloneableClass implements Cloneable { @Override public Object clone() throws CloneNotSupportedException { return super.clone(); //クローンを返す } }
コメント