Mic*_*uff 0 java inner-classes
我有一个内部类(非静态),它在初始化时使用对封闭类的引用.内部类现在会保留对封闭类的引用吗?
class Enclosing {
class Inner {
private final ABC innerField = outerField.computeSomething();
}
private final XYZ outerField = something();
}
Run Code Online (Sandbox Code Playgroud)
UPDATE
我非常清楚,一个可以参考的外部类Enclosing.this
.
但是,如果类不使用引用,编译后是否必须引用?即使引用仅用于初始化,是否有必要?
它在哪里说内部类总是持有外部类的引用?
非静态嵌套类始终包含对封闭类的引用.在您的示例中,您可以从Inner
as 引用封闭类Enclosing.this
.
"类O的直接内部类C的实例i与O的实例相关联,称为i的直接封闭实例.对象的直接封闭实例(如果有)在创建对象时确定( §15.9.2)."
归档时间: |
|
查看次数: |
1481 次 |
最近记录: |