- ★★Java質問・相談スレッド174★★ [転載禁止]©2ch.net
723 :デフォルトの名無しさん[sage]:2015/09/23(水) 17:51:31.82 ID:o45gp/p9 - >new A して
抽象クラスはnewできない >Aのメソッドの中で自分自身をA1,A2,A3のどれかに変身 Aを通常のクラスにして(あるいは実体化用の子クラスA'を作って)、 A1,A2,A3のそれぞれにA(A')を引数に持ち、内部でフィールドをコピーするコンストラクタを実装すれば似たようなことは可能 ただ、「最初は適当なクラスで実体化させ、途中で別のクラスにする」なんてのはクラス設計かコーディング設計が間違ってる
|
- ★★Java質問・相談スレッド174★★ [転載禁止]©2ch.net
724 :デフォルトの名無しさん[sage]:2015/09/23(水) 17:55:53.30 ID:o45gp/p9 - おっと、「それから Aのメソッドの中で」を見落としてたな
それであればAのラッパークラスを作って、実体をフィールドで管理するしかないかな class AWrapper
|
- ★★Java質問・相談スレッド174★★ [転載禁止]©2ch.net
725 :デフォルトの名無しさん[sage]:2015/09/23(水) 17:57:12.45 ID:o45gp/p9 - ミス
class AWrapper{ public private A instance; pubic void changeInstance }
|
- ★★Java質問・相談スレッド174★★ [転載禁止]©2ch.net
726 :デフォルトの名無しさん[sage]:2015/09/23(水) 18:00:57.58 ID:o45gp/p9 - 再ミス…
class AWrapper{ private A instance; public AWrapper(){ instance = new A; } pubic void changeInstance(){ instance=new A1; instance=new A2; instance=new A3; } } みたいな感じ。
|