单例模式:分懒汉式和饿汉式。原理简单一点讲就是一个类只能创建一个对象,提供用户使用。
饿汉式:
1.建立一个private对象2,.构建一个私有的构造对象
3.提供一个对外调用这个对象的方法
public class SingleTest {
public static void main(String [] args){
Single s1 =Single.getInstance();
}
}
class Single {
private static Single s = new Single();
private Single(){}
public static Single getInstance(){
return s;
}
}
懒汉式:
public class SingleTest {public static void main(String [] args){
Single s1 =Single.getInstance();
}
}
class Single{
private static Single s = null; // 先建立一个引用变量,但是延迟建立类、
private Single(){}
public static Single getInstance(){
if(s==null){
synchronized(Single.class){ //加锁后避免出现建立多个对象
if(s==null)
s=new Single(); //延迟在这个地方建立对象
}
}
return s;
}
}