请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

静态内部类的加载和初始化问题

//5种情况,首次发生时,一个类将被立刻初始化,类是泛指,包括接口
//1.A类的一个实例被创建
//2.A类中的一个静态方法被调用
//3.A类中声明的一个静态成员被赋值
//4.A类中声明的一个静态成员被使用,并且不是常量成员
//5.A类如果是顶级类,其中有嵌套断言语句
那么这个静态内部类懒汉模式,是第几个呢? 4?

另外InnerClass这个类被加载和被初始化是两个不同概念和时间点吧?两个分别是何时呢?

正在回答 回答被采纳积分+3

2回答

new_chapter 2019-03-19 00:12:31

内部类懒汉模式,对应 4.类中的一个静态成员被使用。

对类的加载,java虚拟机规范中没有进行强制约束。

0 回复 有任何疑惑可以回复我~
慕神7267176 2018-10-26 23:29:17

外部类初始化的时候不会初始化InnerClass,当内部类的静态成员变量被调换用的时候初始化InnerClass。InnerClass的初始化属于第二类。

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信