顾名思义,就是一个class只能有一个instance。这是用得比较多的模式,场合主要是Util, database instance等。实现方法主要有两种:lazy initialization & eager initialization. 区别在于,eager总是产生一个新的instance.
public class SingletonDemo {
private static SingletonDemo instance = null;
private SingletonDemo() { }
public static synchronized SingletonDemo getInstance() {
if (instance == null) {
instance = new SingletonDemo();
}
return instance;
}
}
public class Singleton {
private static final Singleton INSTANCE = new Singleton();
private Singleton() {}
public static Singleton getInstance() {
return INSTANCE;
}
}
No comments:
Post a Comment