大话设计模式

《大话设计模式》

第53章

上一页 封面 下一页

小A:“单体模式一般有哪些方法?”

大B:“单体模式主要作用是保证在Java应用程序中,一个Class只有一个实例存在。一般有三种方法,下面我就具体来说说这三种方法吧。”

1、定义一个类,它的构造函数为private的,所有方法为static的。如其他类对它的引用全部是通过类名直接引用。

例如:

publicfinalclassMath{

/**

*Dontletanyoneinstantiatethisclass.

*/

privateMath{}

publicstaticintround(floata){

return(int)floor(a+www.youxs.org);

……

2、定义一个类,它的构造函数为private的,它有一个static的private的该类变量,在类初始化时实例话,通过一个public的getInstance方法获取对它的引用,继而调用其中的方法。

例如:

publicclassRuntime{

privatestaticRuntimecurrentRuntime=newRuntime;

publicstaticRuntimegetRuntime{

returncurrentRuntime;

……

3、定义一个类,它的构造函数为private的,它有一个static的private的boolean变量,用于表示是否有实例存在。

例如:

classPrintSpooler{

//thisisaprototypeforaprinter-spoolerclass

//suchthatonlyoneinstancecaneverexist

staticboolean

instanceflag=false;//trueif1instance

publicPrintSpoolerthrowsSingletonException

if(instanceflag)www.smrhm.com 幻想小说网

thrownewSingletonException(“Onlyonespoolerallowed”);

else

instanceflag=true;//setflagfor1instance

(“spooleropened”);

//——

publicvoidfinalize

instanceflag=false;//clearifdestroyed

阅读大话设计模式最新章节 请关注米妮小说网(www.qixinyuan.com.cn)

上一页 目录 下一页 存书签

热门推荐