如果我在主类中实例化一个对象,请说:
SomeObject aRef = new SomeObject();
然后我从主类实例化另一个对象,说:
AnotherObject xRef = new AnotherObject();
AnotherObject的实例如何使用aRef引用来访问SomeObject中的方法? (要使用SomeObject的相同实例)
最佳答案
为什么不参考原始AnotherObject
实例化SomeObject
呢?
例如
SomeObject obj = new SomeObject();
AnotherObject obj2 = new AnotherObject(obj);
和
AnotherObject
看起来像:// final used to avoid misreferencing variables and enforcing immutability
private final SomeObject obj;
public AnotherObject(final SomeObject obj) {
this.obj = obj;
}
因此
AnotherObject
引用了以前创建的SomeObject
。然后,它可以使用此引用来调用方法。如果在AnotherObject
范围之外不需要原始对象,则在AnotherObject
内部创建它并以这种方式强制执行封装。