したがって、これは私が考えすぎている非常に単純な質問かもしれませんが、次のようなことをすると:
class A{
public String test_string = "before (default)";
public A(){
B b = new B(this);
}
public void testA(){
this.test_string = "after (new)";
}
}
ここで、B は次のとおりです。
class B{
private A parent;
public B(A mParent){
parent = mParent;
}
private void testB(){
System.out.println(parent.test_string);
}
}
A
これにより、 (すべてのパブリック フィールドとメソッド)の同じインスタンスに引き続きアクセスできますか? A.testA()
の特定のインスタンスで別のクラスから呼び出した場合A
、B
そのA
コンストラクターのtestB
関数で構築された は"after (new)"
文字列を返しますか? A
または、Javaは参照ではなく値で割り当てないため、それはのコピーになりますか? これを行うより良い方法はありますか?私は問題を複雑にしすぎていますか?
何を検索すればよいかわからなかったので、質問に答える他の質問を見つけることができませんでした。
前もって感謝します!