一、饿汉模式
第一步先将类的默认构造方法私有化
第二步创建类的唯一实例
第三步提供一个用于获取实例的方法
public class Singleton1 { //1.将构造方法私有化,不允许外部直接创建对象 private Singleton1(){ } //2.创建类的唯一实例 private static Singleton1 instance = new Singleton1(); //3.提供一个用于获取实例的方法 public static Singleton1 getInstance(){ return instance; } }
二、懒汉模式
第一步先将类的默认构造方法私有化
第二步创建类的唯一实例的索引
第三步提供一个用于获取实例的方法(如已创建就直接获取,否则再继续创建)
public class Singleton2 { //1.将构造函数私有化 private Singleton2(){ } //2.声明类的唯一实例,使用private static 修饰 private static Singleton2 instance; //3.提供一个用于获取实例的方法,使用public static修饰 public static Singleton2 getInstance(){ if(instance==null){ instance = new Singleton2(); } return instance; } }