私のクラス B では、クラス A のメソッドを使用できるようにしたいと考えています。これが私が試したことです。
- 輸入クラスA
- 初期化 - classA a = new classA(null, null);
クラスAメソッドを使用したいメソッドに追加
public void getAMethod() { a.getTestValue; }
私の質問は次のとおりです。
- これは正しい方法ですか?
- クラス B を実行するたびに、常にクラス A の新しいインスタンスが作成されますか?
- クラス A を開いてクラス B を実行すると、クラス B はクラス A の変数の現在の値を取得しますか、それとも新しいクラス A(null, null) のためにクラス A のデフォルト値を取得しますか?
私の問題は次のとおりです。
- 同じ変数に対して 2 つの異なる値を取得しています。
例:クラスA -
initialize = boolean test = false
クラス A ダイアログが開いたら、test = true を設定します。
メソッドの作成
public boolean getTestValue() {
return test;
}
クラス A 内から getTestValue を実行すると、常に true になります クラス B から getTestValue が呼び出されると、常に false が返されます (クラス A ダイアログが開いていても)
クラスbが毎回クラスAの新しいインスタンスを作成しているように見えるため、クラスAのデフォルト値のみが表示されます.クラスBがクラスAを呼び出すとき、デフォルトではなくクラスAの現在の値を取得する必要があります
EDIT クラスAのメソッドを静的に変更し、問題を修正しました。これは私にとって大きな助けになりました - 提案してくれてありがとう!