小编Geo*_*lds的帖子

Java外部实例生命周期

我对以下内容缺乏了解:如果我使用"速记"创建内部类的实例,那么访问外部类是一个坏主意,即使我没有创建它的显式实例?

例如,请考虑以下代码:

class OuterClass
{
    int i;

    OuterClass() { i = 2; }

    class InnerClass
    {
        int get_parent_i() { return (OuterClass.this.i); }
    }
}
Run Code Online (Sandbox Code Playgroud)

以下编译并返回预期结果(2):

OuterClass.InnerClass ic = new OuterClass().new InnerClass();

System.out.println(ic.get_parent_i());
Run Code Online (Sandbox Code Playgroud)

我的困惑源于这样一个事实:我没有显式创建一个OuterClass对象来实例化一个InnerClass对象,尽管似乎无论如何都存在.有人可以告诉我发生了什么,如果我出于任何原因要么访问或忘记幻影实例?

非常感谢!

java nested class parent instance

1
推荐指数
1
解决办法
303
查看次数

标签 统计

class ×1

instance ×1

java ×1

nested ×1

parent ×1