在内部类本身中,你可以使用
OuterClass.this。该表达式允许引用任何词法包围的实例,在JLS中被描述为
Qualifiedthis。
我认为没有办法从内部类的代码之外获取实例。当然,你可以随时介绍自己的财产:
public OuterClass getOuter() { return OuterClass.this;}编辑:通过实验,看起来对外部类进行引用的字段具有包级别访问权限-至少与我正在使用的JDK一样。
编辑:使用(这个名字
this$0)是在Java中确实有效,虽然JLS阻碍了它的用法:
该$字符应仅在机械生成的源代码中使用,或者很少用于访问旧系统上的现有名称。



