当然有这种方式:OuterClass.this
.但那非常笨拙.理想情况下,有一个关键字outer
就像super
.
有没有办法反思性地做到这一点?(我没有找到任何方法,隐藏的outer
引用似乎没有出现在结果中Class#getFields()
.)
也许在Java7中有一种方法?
编辑.考虑一下我刚发现的类似问题:
小智 9
唯一的方法是使用OuterClass.this
引用包含类.
这不是问题,如果您需要多次引用包含的类实例,只需将其分配给局部变量,而不必多次处理此语法.final OuterClass oc = OuterClass.this;
然后你只需oc
在本地使用你需要做的事情.
拥有另一个关键字outer
只会混淆正在发生的事情.语法OuterClass.this
明确定义了正在发生的事情,泛型关键字将隐藏包含类的标识,特别是如果它嵌套在多个内部类中.outer.this.outer.this.outer.this
太可怕了!
这不是任何想象力的负担.特别是现代IDE.
归档时间: |
|
查看次数: |
923 次 |
最近记录: |