0

ヘルパークラスのサブクラスで使用されるオブジェクトの ArrayList があります。サブクラスに必要なデータを送信しています。たとえばnew subclass(ArrayListObject)、これらのサブクラスはヘルパークラスのマップ構造で処理されます。単一の ArrayListObject がヘルパークラスに格納されているため、計算にこのオブジェクトが必要なサブクラスにリンクされると想定しました。ただし、変更された場合、ArrayListObject はサブクラスで変更されません。デバッガーで見たものからです。

これを別のクラス変数へのポインタにする方法はありますか? または、これを処理してサブクラスがコンストラクターのヘルパークラスへの参照を受け取るようにする最も適切な方法は、helperclass.getArrayObject メソッドを呼び出すことですか?

4

1 に答える 1

1

達成しようとしているポインターは、Java では使用できません。これを回避するにArrayListObjectは、ヘルパークラスの保護フィールドを作成する必要があります。ここから進むには 2 つの方法があります。

  1. フィールドがクラスとそのサブクラスの外でアクセスされない場合はsuper.mArrayList、値が必要なときにいつでも呼び出します。
  2. どこからでもフィールドにアクセスする必要がgetArrayListObject()ある場合は、オブジェクトの値を返す public を作成します。
于 2012-04-14T04:52:46.763 に答える