gpt4 book ai didi

java - 静态嵌套类不初始化外部类

转载 作者:行者123 更新时间:2023-11-30 06:06:34 25 4
gpt4 key购买 nike

当我初始化静态内部类时,我希望外部类也被初始化并将打印 我也应该看到这个。 然而这并没有发生,我只得到 类Main 作为输出

 class AA {
static {
System.out.println("I should see this as well.");
}

public static class BB {
BB() {
Object o = Main.class;
System.out.println(o.toString());
}
};
}

public class Test {
public static void main(String[] args) {
new AA.BB();
}
}

谁能帮我解释一下这种行为。

最佳答案

嵌套类创建不同的类。

这里有两个类:

  • AA.class

  • AA$BB.class

使用第二个不需要加载第一个,因为第二个是公共(public)静态类。

关于java - 静态嵌套类不初始化外部类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43800833/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com