首先,单例模式是对象的创建模式之一,此外还包括工厂模式。单例模式的三个特点:
1,该类只有一个实例
2,该类自行创建该实例(在该类内部创建自身的实例对象)
3,向整个系统公开这个实例接口- class Singleton {
-
- //私有,静态的类自身实例
- private static Singleton instance = new Singleton();
-
- //私有的构造子(构造器,构造函数,构造方法)
- private Singleton(){}
-
- //公开,静态的工厂方法
- public static Singleton getInstance() {
- return instance;
- }
- }
复制代码 使用单例模式,保证一个类只有一个实例对象,这样就可以节约内存;当然这不是主要原因,主要是应为当一个类的实例存在多个会引起程序逻辑错误的时候,就必须使用单例模式。比如类似有序的号码生成器这样的东西,怎么可以允许一个应用上存在多个呢?
|