站点微信订阅号zhengjinyibu,欢迎大家搜索关注.
- 共有方法返回实例,灵活性高,可以修改api,例如按照线程返回实例
- private 构造方法 防止继承
- 初始化校验.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| public class Singleton {
private static Singleton INSTANCE;
private static boolean init;
private Singleton(){ if(init){ throw new RuntimeException("已经初始化过了"); } init(); init= true; }
private void init(){ }
public static Singleton getInstance(){ if(INSTANCE==null){ synchronized (Singleton.class){ if(INSTANCE==null){ INSTANCE= new Singleton(); } } } return INSTANCE; }
public static void main(String[] args) { Singleton u =new Singleton(); System.out.println(u);
} }
|
本文内容仅作为作者个人兴趣与观点,不代表所在公司及团队的观点和决策。若有不恰当之处,请联系站长.