单例设计模式
概念
一个类对外有且仅提供一个对象时,这样的类叫单例类,设计单例的流程和思想叫做单例设计模式
实现流程
1.私有化构造方法(使用private关键字修饰)
2.声明本类类型的引用指向本类类型的对象(并使用private static关键字共同修饰,使其私有并且仅有一份)
3.提供公有的get方法将对象返回出去(使用public static关键字共同修改get方法)
实现方式
饿汉式
(创建引用的时候直接声明对象,就像很饿的人,迫不及待直接创建对象)
public class Singleton{
private static Singleton singleton= new Singleton();
private Singleton(){}
public static getInstance(){return singleton;}
}
懒汉式
(当用到对象的时候才创建对象,很懒,什么时候用才创建)
public class Singeleton{
private static Singleton singleton = null;
private Singleton(){}
public static getInstance(){
if(null == singleton){
singleton = new Singleton()
}else{
return singleton;
}
}
}
注意:若无特殊情况,推荐使用饿汉式,因为懒汉式在多线程情况下可能会发生错误。