单例模式是一个最简单的一种设计模式,其实就是Object只有唯一的一个实例,就拿我们天天看到太阳一样,它是唯一的不管我们哪天看看到都是相同的那个太阳(Sun)。 下面我们一起来看看如何实现一个单例呢?
懒汉单例
public class SingletonSun{
private static SingletonSun sun=null;//staic 把sun作为一个类变量
public SingletonSun(){
}
public static synchronized Singleton getInstance(){//加synchronized 可以保证获取单例的时候线程安全
if(sun==null){
sun=new SingletonSun();
}
return sun;
}
}
恶汉单例
/**
*恶汉单例一定是线程安全的
*/
public class SingletonSun{
private static final SinglentonSun sun=new SinglentonSun();
public SinglentonSun(){};
public SinglentonSun getInstance(){
return sun;
}
}