单例设计模式之饿汉式和懒汉式
饿汉式
/**
* 饿汉式
*
* @author su
*
*/
public class Singleton {
// 私有构造函数
private Singleton() {
}
//创建本类对象 随着类加载而创建对象就是饿汉式
private static Singleton singleton = new Singleton();
//对外提供公共的访问方法
public static Singleton getInstance() {
return singleton;
}
}
懒汉式
/**
* 懒汉式 随着方法的调用而创建对象
*
* @author su
*
*/
public class Singleton2 {
//私有构造方法
private Singleton2() {
}
//声明一个本类引用
private static Singleton2 s;
//对外提供公共的访问方法
public static Singleton2 getInstance(){
//判断为空时就创建对象
if(s == null){
s = new Singleton2();
}
return s;
}
}