单例设计模式有两种,一种是懒汉式,一种是饿汉式
- 什么是单例设计模式: 该类仅需要一个对象,如公司的董事长,朝代的君王。
- 单例设计模式不可以创建指定属性的对象,但是可以在创建之后使用set和get方法对对象的属性进行修改,因为单例设计模式中类的构造方法时私有的,外界不能调用。
懒汉设计模式
public class SingleTon {
//1.私有化构造方法
private SingleTon(){}
//2.在单例类中构造对象
private static final SingleTon SINGLE_TON = new SingleTon();
//3.提供公共的方法,返回这个对象
public static SingleTon getSingleTon(){
return SINGLE_TON;
}
}
饿汉设计模式
public class SingleTon2 {
//1.私有化构造方法
private SingleTon2(){}
//2.创建变量
private static SingleTon2 instance = null;
//3方法返回这个对象
public static SingleTon2 getInstance(){
if(instance == null){
instance = new SingleTon2();
}
return instance;
}
}
懒汉式的优势在于他的线程安全(因为构造方法是静态的,所以再程序加载的时候即开始占内存)
饿汉设计模式在于节省空间,生命周期短。