小哈兒的 學習日記

          像瘋子一樣去戰斗!
          posts - 13, comments - 0, trackbacks - 0, articles - 0

          設計模式之單例(Singleton) 筆記

          Posted on 2007-04-18 10:17 dayue 閱讀(255) 評論(0)  編輯  收藏 所屬分類: 面向對象與設計模式
                 單例模式是最簡單的一種設計模式,它是創造型的。一個單例類僅允許他的一個實例被初始化。它檢查一個實例是否已經被創建,如果是則返回這個實例。下面是一個單例類的基本結構:
           1package dp.singleton;
           2
           3public class Singleton {
           4    private static Singleton singleton;
           5    private Singleton(){
           6        
           7    }

           8    
           9    public static Singleton getInstance(){
          10        if(singleton==null){
          11            singleton=new Singleton();
          12        }

          13        return singleton;
          14    }

          15 
          16}

          17
          在這個類中,有一個private static 的域,構造函數被設為私有的,這樣調用它的類就不能使用構造器來創建它的一個實例。從一個單例類中取得一個實例的唯一辦法是通過public static getInstance()方法。通過以下方法:
          Singleton instance=Singleton.getInstance();
          這個 getInstance()通過測試實例與是否為空來檢查這個類的唯一實例是否被創建,如果是空的,則創建一個實例,如果非空,則返回這個已經存在的實例,一旦一個實例被創建了,那么 getInstance()這個方法就返回這個實例。

          另一種稍微有些不同的實現單例類的方法是將域聲明改為
          private static final Singleton singleton=new Singleton();
          這種方法總是創建一個實例。
          主站蜘蛛池模板: 武鸣县| 铁岭县| 乌拉特后旗| 博白县| 平山县| 九寨沟县| 无为县| 屯门区| 监利县| 台州市| 西畴县| 卢氏县| 西和县| 右玉县| 梓潼县| 康平县| 长沙县| 临安市| 神池县| 民丰县| 响水县| 顺义区| 锦屏县| 济阳县| 应用必备| 琼中| 八宿县| 叙永县| 武安市| 湄潭县| 肥西县| 武定县| 伊金霍洛旗| 通许县| 五家渠市| 巴彦县| 竹山县| 紫金县| 南郑县| 临洮县| 博白县|