单例模式是在设计模式中经常使用的一种,顾名思义就是实现一个只能创建一个实例对象的类。刚接触面向对象的coder可能比较难理解这种模式有何意义,其实举个例子来讲就比较好理解了:很多人都喜欢打网游,你打开一个登陆器登陆上自己的账号后又想登陆一个别的账号,但是还不想关闭当前这个账号,一般情况下你再打开遍登陆器就可以实现了,此时这些登陆窗口的实现就不是单利模式了。当你登陆游戏后进入你的人物界面,你点击人物属性按钮,之后显示出一个窗口,上面标明你的各种属性(力量、敏捷bulabula),不要关闭这个窗口,当你再点击一下属性按钮的时候,你觉得如果再弹出一个一模一样的属性窗口来是不是很怪呢,明明就是一个东西为什么要出来俩?所以这个时候是不会在弹出来另一个窗口的,这个属性按钮的实现可以理解为就是单例模式。(本人不太了解游戏设计,只是单纯的说明这个问题,如果有不对的地方,就这样吧)。如果你不打游戏理解不了这个例子,就试试打开windows的任务管理器,然后再打开一个,again again and again的打开,是不是只显示一个呢?或者你玩命双击回收站。
言归正传,先说说一般情况下如何实现一个单例。首先,要解决的问题是如何让这个类可以让别人创建对象,但是只能创建一次呢?这就需要在类的构造函数最好就是private,这样