系统中共享的对象可以定义为单例模式。
恶汉模式
public class A{
//将构造器私有化,防止外部new出新的对象
private A(){}
//创建私有的实例对象
private static A a = new A();
//创建一个公共静态方法,使外部能够得到实例
public static A getInstance(){
return a;
}
}
推荐使用的懒汉模式 (双重检查,静态类部类,枚举都为线程安全的模式)
public class A{
//将构造器私有化,防止外部new出新的对象
private A(){}
//第一种 双重检查
private static A a;
public static A getInstance(){
if(a==nulll){
synchronized(A.class){
if(a==null){
a = new A();
}
}
}
return a;
}
}
//第二种,静态类部类
private static class INSTANCE{
private static final A a = new A();
}
public static A getInstance(){
return INSTANCE.a;
}
枚举
public enum A{
INSTANCE;
}