静态内部类在何时加载


内部静态类在使用时才会被加载。

public class InnerStaticSingleton {
    static {
        System.out.println("2222");
    }
    private static class SingletonFactory{
        static {
            System.out.println("1111");
        }
        private static InnerStaticSingleton instance=new InnerStaticSingleton();
    }

    public static InnerStaticSingleton getInstance(){
        return SingletonFactory.instance;
    }
    public static void main(String[] args){
        InnerStaticSingleton.getInstance();
    }
}

如果main()方法中什么都不执行则仅会输出:

2222

如果main()方法中调用静态内部类,如上代码,输出:

2222

1111


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM