
应用场景:只需要一个实例的时候使用
1、第一种写法
饿汉式:
public class Singleton {
// 使用final必须初始化
private static final Singleton INSTANCE = new Singleton();
private Singleton() {}
public static Singleton getInstance() {
//不管你调用多少次getInstance,我永远只有一个INSTANCE = new Mgr01(
return INSTANCE;
}
//证明是同一个实例
public static void main(String[] args) {
Singleton instance = Singleton.getInstance();
Singleton instance1 = Singleton.getInstance();
System.out.println(instance1 == instance);//如果返回true说明同一个实现
}
}
更多文章已经被GitHub收录以及电子书等资料:https://github.com/niutongg/JavaLeague