java study 06day--單例設計模式

一、餓漢式

設計模式:解決某一類問題最行之有效的方法。

java23種設計模式:

單例設計模式:解決一個類在內存只存在一個對象。

 

想要保證對象唯一。

1,爲了避免其他程序過多建立該類對象。先禁止其他程序建立該類對象.

2,還爲了讓其他程序可以訪問到該類對象,只好在本類中,自定義一個對象。

3,爲了方便其他程序對自定義對象的訪問,可以對外提供一些訪問方式。

 

這三步怎麼用代碼體現呢?

1,將構造函數私有化。

2,在類中創建一個本類對象。

3,提供一個方法可以獲取到該對象。

 

對於事物該怎麼描述,還怎麼描述。

當需要將該事物的對象保證在內存中唯一時,就將以上的三步加上即可。

 

這個是先初始化對象。稱爲:餓漢式。

 

Single類一進內存,就已經創建好了對象。

 

class Single

{

       private  Single(){}

       private static Single s = new Single();

       public static  Single getInstance()

       {

              return s;

       }

}

二、懶漢式

對象是方法被調用時,才初始化,也叫做對象的延時加載。成爲:懶漢式。

//Single類進內存,對象還沒有存在,只有調用了getInstance方法時,才建立對象。

class Single

{

       private static Single s = null;

       private Single(){}

       public static Single getInstance()

       {

              if(s==null)

              {

                     synchronized(Single.class)

                     {                         

                            if(s==null)

                                   s = new Single();

                     }

              }

              return s;

       }

}

 

//記錄原則:定義單例,建議使用餓漢式。

class 

{

       public static void main(String[] args)

       {

              System.out.println("Hello World!");

       }

}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章