@OverWrite BlogJava

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            128 隨筆 :: 0 文章 :: 29 評論 :: 0 Trackbacks
              需求:一方面要求某類只能存在單一的對象實例(從概念上來說,就是一組靜態(tài)方法和字段),另一方面又要求該實例的使用與普通對象一樣,單例模式就是這兩個要求之間的平衡。
              單例模式通過使用私有構(gòu)造函數(shù)保證了一個類只能存在一個實例,類中的某個靜態(tài)方法用于返回類的唯一實例。以下的Widget類就是一個單例:
          public class Widget{
              
          private static Widget instance = new Widget();
              
          public static Widget getInstance(){
                 
          return instance;
              }

              
          private Widget(){}
              
          public int doSomething(){
                  
          // 
              }

          }
            Widget的構(gòu)造函數(shù)是私有的,這以為著只有靜態(tài)方法getInstance()能夠創(chuàng)建Widget對象。由于instance字段是靜態(tài)的,所以它被定義為唯一的實例。第一次調(diào)用getInstance()方法創(chuàng)建一個新的Widget對象實例,而后續(xù)所有的調(diào)用都將會返回這唯一的對象實例。
            單例模式可以去掉不必要的對象創(chuàng)建過程。
          posted on 2008-02-29 16:52 vesung 閱讀(363) 評論(1)  編輯  收藏 所屬分類: Java設(shè)計模式

          評論

          # re: 單例模式 2008-03-04 21:15 Wang
          Java的垃圾收集就是好啊。在C++里實現(xiàn)單件要考慮的太多了……  回復(fù)  更多評論
            

          主站蜘蛛池模板: 防城港市| 广宗县| 绥棱县| 洛浦县| 泸定县| 彭泽县| 丹巴县| 鸡泽县| 资源县| 子洲县| 稷山县| 华容县| 麻城市| 黔江区| 年辖:市辖区| 九台市| 长汀县| 会同县| 中牟县| 柳江县| 新密市| 抚远县| 石城县| 维西| 临夏县| 屏山县| 汝南县| 大洼县| 天水市| 阆中市| 溧水县| 禄丰县| 新化县| 廊坊市| 信宜市| 高清| 闵行区| 济阳县| 雅安市| 密云县| 永和县|