拥有以下代码:
public class Main {
private Main() {}
class Test extends Main {
{
System.out.printf("This: %h\nEnclosed in: %h\n",
this, Main.this);
System.out.printf("Main.this is instance of %s\n\n" ,
Main.this.getClass());
}
}
public static strictfp void main(String... args) {
new Main().new Test();
}
}
以下是问题:
答案 0 :(得分:3)
将非静态内部类视为类似于:
public class Main {
static class Test extends Main {
private final Main _outer;
...
}
}
在施工期间建立_outer
参考。在GC级别,外部和内部类的实例根本没有区别。