设计模式学习七:单例模式
一.概念
???? 确保一个类只有一个实例,并提供一个全局访问点来获取该实例。
?
二.UML
?
?
三.三种单例模式
饿汉模式:在类加载的时候就实例化一个自己的对象。?
1 楼 fjc04091125 2012-02-20 不错,很明白 2 楼 suhui2009 2012-02-20 楼主能不能举个具体点的例子呢,看不太懂啊,特别是最后一个 3 楼 zy19982004 2012-02-20 suhui2009 写道楼主能不能举个具体点的例子呢,看不太懂啊,特别是最后一个
具体的例子还确实很难举,任何一个类,我们都能写出它的单例出来。
以java.lang.Runtime类为例子
1.其文档说道:/**
* Every Java application has a single instance of class
* <code>Runtime</code> that allows the application to interface with
* the environment in which the application is running. The current
* runtime can be obtained from the <code>getRuntime</code> method.
* <p>
* An application cannot create its own instance of this class.
*
所以我们知道Runtime是单例类,或者我们不看文档也应该知道Runtime是单例类。
2.既然知道了,就去套单例的概念呗:
2.1 确保一个类只有一个实例,
代码private static Runtime currentRuntime = new Rutime();就实现了。
2.2 并提供一个全局访问点来获取该实例,
代码public static Runtime getRuntime() {
return currentRuntime;
}
和private Runtime() {}
就实现了
至于第二种模式和第三者模式,只是单例的不同实现罢了,在了解多线程的基础上,很容易看懂。掌握了概念,就掌握了一切。
4 楼 ls8023 2012-02-21 不错 接受