单例模式(Singleton)是一种常见的设计模式,是指类的一个对象在系统中只有一个实例。
单例模式有很多应用场景
- Windows系统中的
任务管理器
和回收站
就是典型的单例模式,无论在什么位置打开,系统中始终只有一个任务管理器和回收站。 - 网站中的
计数器
一般也是采用单例模式,否则难以同步。 - 应用程序的
日志应用
,一般都使用单例模式实现,从而方便内容追加。
单例模式的三要素
- 私有的构造方法;
- 指向自己实例的私有静态引用;
- 以自己实例为返回值的静态的公有方法。
单例模式的作用
保证一个类只有一个实例,并且提供一个访问该实例的全局站点。
单例模式的实现
如果想要保证只有一个实例,就要保证外界不能随便new这一个对象,因此要将构造方法私有化
。
私有化构造方法即将new这个对象的权限收回,只能在这个类的内部去实例化这个对象。
单例模式的两种常见形式
“懒汉式”
"懒汉式"
顾名思义就是很懒的意思,只有在需要某个类的实例的时候才会执行,new出唯一的一个对象。