标准的Java单例模式
-
打开eclipse或任意可以编译并运行的IDE程序,准备我们的练习:
我创建好工程名和包名,并命名这个功能类为:SingletonDemo
-
既然是单例模式,就不可以让外部随便创建ta的实例,因此,ta的空构造器必须是私有的,如图:
-
话说回来,既然是单例模式,那么类中已有一个实例,而且是只有这么一个实例,那么,这个实例就一定是final的了。如图:
-
既然是单例类,就必须对外提供且仅提供一个实例。
那么,就得有提供的方式,这里,用getInstance来提供单例实例。
-
如果已有实例呢?所以这个方法得改进一下:
-
如果是在多线程环境下呢?加一个synchronized就好了。
如图:看到了吗?
[^~^] Done.
-