如果我在主类中实例化一个对象,请说:
SomeObject aRef = new SomeObject();
Run Code Online (Sandbox Code Playgroud)
然后我从主类中实例化另一个对象,说:
AnotherObject xRef = new AnotherObject();
Run Code Online (Sandbox Code Playgroud)
AnotherObject的实例如何使用aRef引用来访问SomeObject中的方法?(使用SomeObject的相同实例)
为什么不实例化AnotherObject
引用原文SomeObject
?
例如
SomeObject obj = new SomeObject();
AnotherObject obj2 = new AnotherObject(obj);
Run Code Online (Sandbox Code Playgroud)
并且AnotherObject
将如下所示:
// final used to avoid misreferencing variables and enforcing immutability
private final SomeObject obj;
public AnotherObject(final SomeObject obj) {
this.obj = obj;
}
Run Code Online (Sandbox Code Playgroud)
所以AnotherObject
引用了之前创建的SomeObject
.然后它可以使用此引用来调用方法.如果原始对象不在范围之外AnotherObject
,则在内部创建AnotherObject
并以此方式强制执行封装.
归档时间: |
|
查看次数: |
188 次 |
最近记录: |