从内部类检索外部类实例
考虑以下代码,其中的目标是从内部类访问外部类对象内部类实例:
public class OuterClass { public class InnerClass { private String name = "Peakit"; } public static void main(String[] args) { OuterClass outer = new OuterClass(); InnerClass inner = outer.new InnerClass(); // Retrieve the outer class instance... OuterClass anotherOuter = ?? ; } }
访问外部类实例在内部类中
在内部类中,您可以使用 OuterClass.this 表达式来引用封闭实例。这种技术称为“Qualified This”,允许您从内部类内部访问外部类的成员。
public OuterClass getOuter() { return OuterClass.this; }
在不修改内部类的情况下访问外部类实例
如果您没有能力修改内部类,则可以通过对封闭类的包级访问来访问外部类实例实例字段,用 this$0 表示。
OuterClass outerRef = inner.this;
附加说明
以上是Java中如何从内部类访问外部类实例?的详细内容。更多信息请关注PHP中文网其他相关文章!