【发布时间】:2012-05-14 22:11:39
【问题描述】:
我对以下内容缺乏了解:如果我使用“速记”创建内部类的实例,即使我没有创建它的显式实例,访问外部类也是一个坏主意吗?
例如,考虑以下代码:
class OuterClass
{
int i;
OuterClass() { i = 2; }
class InnerClass
{
int get_parent_i() { return (OuterClass.this.i); }
}
}
以下编译并返回预期结果(2):
OuterClass.InnerClass ic = new OuterClass().new InnerClass();
System.out.println(ic.get_parent_i());
我的困惑源于这样一个事实,即我没有显式创建 OuterClass 对象来实例化 InnerClass 对象,尽管无论如何似乎都存在。有人能告诉我发生了什么吗?我是否应该出于任何原因访问或忘记幻影实例?
非常感谢!
【问题讨论】:
标签: java class nested instance parent