单例模式:让一个类永远只产生一个对象
饿(恶)汉式(比较安全):
1. 私有化构造函数,让外部不能直接创建对象。
2.创建一个私有化的静态本类实例对象。
3.提供一个公共的静态的返回值是 本类的一个方法。
public class eHang{
private static eHang instance=new eHang();
private eHang(){
}
public static eHang getinstance(){
return instance;
}
}
懒汉式(启动快):
(不好)
缺点:只在单线程的情况下正常运行,在多线程的情况下,就会出问题。例如:当两个线程同时运行到判断instance是否为空的if语句,并且instance确实没有创建好时,那么两个线程都会创建一个实例。
1.私有化构造函数,让外部不能直接创建对象。
2.声明一个私有化的静态本类的一个对象。
3.提供一个公共的静态的返回值是 本类的一个方法。
public class Lanhang{
private static Lanhang instance =null;
private Lanhang(){
}
public static Lanhang getInstance(){
if(instance ==null){
instance=new Lanhang();
}
}
}