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

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

相关文章:

  • 2022-01-13
  • 2021-12-06
猜你喜欢
  • 2022-12-23
  • 2022-02-21
  • 2022-12-23
  • 2021-07-16
  • 2022-12-23
  • 2021-10-24
  • 2022-12-23
相关资源
相似解决方案