单例模式一共有醉汉式、懒汉式两种:
醉汉式(书写时共有三个步骤):
(1)私有化构造方法
(2)私有化、静态的在本类中创建一个对象
(3)创建静态的方法,返回本类的对象
注意:使用时直接:类名.方法
例如:
class BJQ{
private BJQ(){};
private static BJQ bb = new BJQ();//私有化起保护作用
public static BJQ getBB(){
return bb;
}
}
main方法中:BJQ.getBB();//不用重新new一个对象
懒汉式(书写时共有三个步骤):
(1)私有化构造方法
(2)私有化、静态的在本类中定义一个对象
(3)创建静态的方法,判断该对象是否为空,为空新建一个,不为空返回本类的对象
注意:使用时直接:类名.方法
class BJQ{
private BJQ(){}
private static BJQ bb;
pulic static BJQ getBB(){
if(bb==null){
bb = new BJQ();
return bb;
}else{
return bb;
}
}
}
main方法中使用:BJQ.getBB();
总结:醉汉式和懒汉式差别不大,都是三个步骤,懒汉式多了一个判断的环节。