单例模式
单例模式分为七种,其中饿汉单例模式和懒汉单例模式最常见
三元素
1. 构造方法私有化
2.静态属性指向实例
3.public static 的getInstance方法,返回第二步的静态属性饿汉单例模式
public class GiantDragon() {
private void GiantDragon() {
//私有构造方法
}
private static GiantDragon instance = new GiantDragon();
//静态初始化单例对象
public GiantDragon getInstance() {
return instance;
}
}
这时候在其他的类中就只能得到这一个实例化对象了
public class TestGiantDragon() {
public static void main(String[] args) {
GiantDragon g1 = GiantDragon.getInstance();
GiantDragon g2 = GiantDragon.getInstance();
System.out.println(g1 == g2);
}
}
结果为TRUE
懒汉单例模式 :只有在需要的时候才会实例化
两个单例模式的使用差别:当加载资源比较多的时候,懒汉单例模式加载会快些
public class GiantDragon() {
private static GiantDragon instance = null;
private GiantDragon() {
}
public GiantDragon getInstance() {
if(null == instance) {
instance = new GiantDragon();
}
return instance;
}
}