如果我在主类中实例化一个对象,请说:

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内部创建它并以这种方式强制执行封装。

08-05 08:15