我对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语句, 或不仅是一个新的OuterObject
副本,但相同的参考现有InnerObject
?
遗憾是的,我固定它 – MidgarZolom 2014-12-08 08:49:06