ネタ心者歓迎! 今更ながらにJava相談室
■ このスレッドは過去ログ倉庫に格納されています
0699デフォルトの名無しさん
NGNG>僕は通常、深いコピーを作成する場合にはclone()メソッドの中で
>コンストラクタを呼んだりしているのですが、抽象クラスの場合には
>コンストラクタを呼ぶことが出来ません。
clone()の中でコンストラクタを呼ぶのは禁じ手だよ。super.clone()を
呼んで浅いクローンを作り、必要なフィールドの初期化はそれぞれ行う
必要がある。そうしないと、サブクラスでsuper.clone()を呼んだとき
に、ClassCastExceptionが発生するよ。
また、この方法なら、abstractでも可能だしね。
■ このスレッドは過去ログ倉庫に格納されています