设计模式——单例模式

单例模式的意义:
有一些对象我们只需要一个实例,比如说线程池、缓存、对话框、日志对象、重放打印机、显卡等设备的驱动程序。这些对象只能有一个实例,否则会产生很多问题。
为了确保只有一个实例,有时我们通过全局变量的形式实现,但是将对象赋值给全局变量,但是却没有使用就会造成资源的浪费。所以还只实例化一个实例更好。

总所周知,类对象的构造函默认是public类型的,这样我就是说这个对象可以有很多实例。当然我们构造函数虽然不是公有的类型(如protected),只有同一个包的类可以实例化它时,但是仍可以实例化多次,

私有的构造函数不能被类外实例化,只能类内部实例化。但很显然不能够通过类的实例来调用构造器,因为类实例的产生和构造器的调用就像"鸡生蛋,蛋生鸡"一样, 谁先谁后说不清楚。但是如果通过类用却是可以的。可以通过调用该类的静态方法,再通过静态方法调用私有的构造函数。

一个简单的单例模式的实现如下:

你可能感兴趣的:(设计模式单例模式)