@634

オブジェクトのコピー

Advertisement

オブジェクトの複製を作成する。

前提条件
Cloneable インタフェースを実装する。
public class CloneTest{
    public static void main(String args[]){
        // 値10を持つオブジェクト(a)生成
        Base a = new Base(10);

        // (a)のクローン(b)を作成
        Base b = a.createClone();

        // (a)の値変更
        a.setNum(20);

        // (a)のクローン(c)を作成
        Base c = a.createClone();

        // (a)の値変更
        a.setNum(30);

        System.out.println("a : " + a.getNum());
        System.out.println("b : " + b.getNum());
        System.out.println("c : " + c.getNum());
    }
}

class Base implements Cloneable{
    int num;

    public Base(int n){
        num = n;
    }

    public void setNum(int n){
        num = n;
    }

    public int getNum(){
        return num;
    }

    public Base createClone(){
        Base b = null;

        try{
            b = (Base)this.clone();
        }catch(CloneNotSupportedException e){
            System.out.println(e);
        }

        return b;
    }
}

Advertisement

ショートカット

634
このカテゴリのトップページに戻る
634labs
   UIコレクションギャラリー

サイト検索

Google

Web サイト内

Y!ログール