单例模式:使一个类仅有一个实例,并提供对外调用的方法,具体实现要点如下:
(1)构造方法私有化;
(2)定义一个本类对象的属性;
(3)为外部提供一个获取本类对象的静态方法;
(1)饿汉式:
public class SignleDemo1 {
private static SignleDemo1 signle1 = new SignleDemo1();
private SignleDemo1(){}
public static SignleDemo1 getInstance(){
return signle1;
}
}
(2)懒汉式:
public class SignleDemo2 {
private static SignleDemo2 signleDemo2 = null;
private SignleDemo2(){}
public static SignleDemo2 getInstance(){
if(signleDemo2 == null){
signleDemo2 = new SignleDemo2();
}
return signleDemo2;
}
}
懒汉式,如果是多线程访问会出现线程安全问题。