单例模式是一种常用的软件设计模式。在它的核心窑钕仇焱结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例腴李敝笃易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。这里我们将写一个标准的Java单例模式。
工具/原料
一台再正常不过的已经配置了java环境的电脑
标准的Java单例模式
1、打开eclipse或任意可以编译并运行的诔罨租磊IDE程序,准备我们的练习:我创建好工程名和包名,并命名这个功能类为:SingletonDemo
2、既然是单例模式,就不可以让外部随便创建ta的实例,因此,ta的空构造器必须是私有的,如图:
3、话说回来,既然是单例模式,那么类中已有一个实例,而且是只有这么一个实例,那么,这个实例就一定是final的了。如图:
4、既然是单例类,就必须对外提供且仅提供一个实例。那么,就得有提供的方式,这里,用getInstance来提供单例实例。
5、如果已有实例呢?所以这个方法得改进一下:
6、如果是在多线程环境下呢?加一个synchronized就好了。如图:看到了吗?[^~^] Done.