-3

だから私は次のようなコードを持っています:

クラスA

クラスB

methodB(frame initialization)

クラスC

methodC(frame initialization)

ClassAのオブジェクトがClassBを呼び出し、フレームが初期化されます。ClassBのボタンが押されると、 ClassCのオブジェクトが初期化されます。

ClassCのボタンが押されたら、更新されたパラメータでClassAのオブジェクトを再初期化する必要があります。したがって、 ClassCからClassAのオブジェクトを再初期化する間、ClassCの古いオブジェクトはまだそこにあります。

特定のボタンが押されたときにClassAの古いオブジェクトを終了し、 ClassAの新しいオブジェクトを初期化するにはどうすればよいですか? ClassAの新しいインスタンスを作成できますが、 ClassCを追加すると ClassA の両方のオブジェクトが閉じられるため、ClassCからのオブジェクトを終了するときに問題が発生します。古いオブジェクトを閉じたいだけです。System.exit(0)

4

1 に答える 1

2

編集:これはできません。thisインスタンスを再構築してグローバルに再初期化または上書きすることはできません。

既存のクラス A インスタンスへの参照を保持する必要があります。クラス B のインスタンスを作成するときに、コンストラクターでクラス A を受け入れてthis. クラスCを作成するときも同じです。適切なゲッターがあれば、Cで、フィールドを設定することにより、Aインスタンスを新しいパラメーターに更新する場所をthis.getB().getA().performSomeUpdate()呼び出すことができます。performSomeUpdate

于 2013-10-17T20:19:09.720 に答える