采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
//5种情况,首次发生时,一个类将被立刻初始化,类是泛指,包括接口//1.A类的一个实例被创建//2.A类中的一个静态方法被调用//3.A类中声明的一个静态成员被赋值//4.A类中声明的一个静态成员被使用,并且不是常量成员//5.A类如果是顶级类,其中有嵌套断言语句 那么这个静态内部类懒汉模式,是第几个呢? 4?
另外InnerClass这个类被加载和被初始化是两个不同概念和时间点吧?两个分别是何时呢?
内部类懒汉模式,对应 4.类中的一个静态成员被使用。
对类的加载,java虚拟机规范中没有进行强制约束。
外部类初始化的时候不会初始化InnerClass,当内部类的静态成员变量被调换用的时候初始化InnerClass。InnerClass的初始化属于第二类。
登录后可查看更多问答,登录/注册
系统学习设计原则,设计模式,锤炼编码内功,赢取高薪Offer
2.9k 2
1.2k 11
1.3k 8
1.2k 6