单例模式,就是我们在获取对象时,只能获取同一个对象。要实现单例模式,就要满足几个条件,首先要有 私有化的静态的对象引用,私有化的构造方法,私有化是为了防止外部类随意调用、创建对象。然后对外提供一个获取对象的方法即可。
介绍两种工厂模式,懒汉式加载 和 饿汉式加载。
1、懒汉式加载
在第一次获取对象时,创建对象
public class Singleton_01 {
//声明静态变量
private static Singleton_01 s;
//构造方法私有化,外部不能创建对象
private Singleton_01(){
}
//在获取对象时,先判断对象是否被实例化
//如果对象还没有被创建,就创建
//如果已经被实例化,则直接返回对象
public static Singleton_01 getInstance(){
if(s == null){
s = new Singleton_01();
}
return s;
}
}
2、饿汉式加载
在类加载的时候就创建了对象
public class Singleton_02 {
//在类加载的时候就直接创建对象
private static Singleton_02 s = new Singleton_02();
//构造方法私有化,外部不能创建对象
private Singleton_02(){
}
//对外提供的获取对象的方法,公共的
public static Singleton_02 getInstance(){
return s;
}
}