- 用途: 保证在整个生命周期中, 一个类,最多只有个实例存在
- 实现方式:
- 私有的构造方法
- 一个静态的,对外提供获取该类的公有方法. (需注意线程安全)
在安卓源码中看见的一个实现单例的虚拟类
public abstract class Singleton<T> {
private T mInstance;
protected abstract T create();
public final T get() {
synchronized (this) {
if (mInstance == null) {
mInstance = create();
}
return mInstance;
}
}
}