メソッドパラメーターの参照/値によるJavaのパスについて少し混乱しています。
クラスにコンストラクターがありOuterObject
ます:
private InnerObject io;
public OuterObject(InnerObject io){
this.io = io;
}
public InnerObject getInnerObject(){
return this.io;
}
OuterObject
次のようにコピーメソッドに渡すと:
InnerObject io = new InnerObject();
OuterObject o = new OuterObject(io);
anotherClass.getCopyOf(o);
そして別のクラスで:
public static OuterObject getCopyOf(InnerObject o){
return new OuterObject(o.getInnerObject());
}
ご覧のとおり、 をパラメーターとして作成しOuterObject
ますInnerObject
。今私は知りたいです:
return ステートメントから 2 つの新しいオブジェクトを取得しますか?それとも新しいOuterObject
コピーであり、既存のオブジェクトへの同じ参照InnerObject
ですか?