我熟悉ClassName.this
语法,以便在嵌套内部类的词法范围内访问当前实例的外部类实例。访问另一个实例的外部类实例的语法是什么?
例如,请考虑以下类型:
public class A {
public int fieldA;
private class B {
public int fieldB;
public void foo(A.B other) {
/* Hypothetical code goes here... */
}
}
}
在B#foo
内,我知道我可以使用语法A.this.fieldA
来访问当前实例的外部实例的字段fieldA
。如何访问other
的相同信息(例如,other.B.this.fieldA
)?
我知道我可以向getOuterInstance
添加一个只返回B
的实例方法(例如,A.this
),这样我就可以在上面的示例中调用other.getOuterInstance()
。但是,我希望有一些我不知道的内置语法。