1. 類的訪問權限僅有兩個選擇:包訪問權限或者public。如果不希望其他任何人對該類擁有訪問權限,可以把所有的構造器都指定為private,從而組織任何人創建該類的對象,但是有一個例外,就是在該類的static成員內可以創建。如
          class Soup {
          private Soup() {}
          // (1) Allow creation via static method:
          public static Soup makeSoup() {
          return new Soup();
          }
          // (2) Create a static object and return a reference
          // upon request.(The "Singleton" pattern):
          private static Soup ps1 = new Soup();
          public static Soup access() {
          return ps1;
          }
          public void f() {}
          }

          如果把類構造器都指定為private,別人要使用這個類的話,上面的例子給出了兩種方法:
          1)創建一個static方法,它創建一個新的Soup對象并返回該對象的引用。如果想要在返回引用之前在Soup上做一些額外的工作,或者如果想要記錄到底創建了多少Soup對象(可能要限制其數量),這種做法將會是大有裨益的。
          2)用到了設計模式。這種特定的模式被稱為singleton,這是因為始終只能創建它的一個對象ps1。


          posts - 403, comments - 310, trackbacks - 0, articles - 7
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          2.16 Java notes - Hiding the Implementation

          Posted on 2007-04-22 20:24 ZelluX 閱讀(239) 評論(0)  編輯  收藏 所屬分類: OOP
          2007-02-16 17:59:42
          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 视频| 兴安县| 南宫市| 龙山县| 拉萨市| 临沭县| 石泉县| 宁蒗| 万载县| 志丹县| 酉阳| 铁力市| 洛阳市| 易门县| 哈密市| 和龙市| 壤塘县| 团风县| 鹤山市| 宁乡县| 岑巩县| 新晃| 宜都市| 威远县| 松桃| 安化县| 宁城县| 石河子市| 门头沟区| 周至县| 重庆市| 清水河县| 太白县| 益阳市| 武威市| 新沂市| 漾濞| 锦州市| 盐亭县| 天津市| 通化市|