<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                第7章 單例模式 7.1 我是皇帝我獨苗 自從秦始皇確立了皇帝這個位置以后,同一時期基本上就只有一個人孤零零地坐在這個位置。這種情況下臣民們也好處理,大家叩拜、談論的時候只要提及皇帝,每個人都知道指的是誰,而不用在皇帝前面加上特定的稱呼,如張皇帝、李皇帝。這一個過程反應到設計領域就是,要求一個類只能生成一個對象(皇帝),所有對象對它的依賴都是相同的,因為只有一個對象,大家對它的脾氣和習性都非常了解,建立健壯穩固的關系,我們把皇帝這種特殊職業通過程序來實現。 皇帝每天要上朝接待臣子、處理政務,臣子每天要叩拜皇帝,皇帝只能有一個,也就是一個類只能產生一個對象,該怎么實現呢?對象產生是通過new關鍵字完成的(當然也有其他方式,比如對象復制、反射等),這個怎么控制呀,但是大家別忘記了構造函數,使用new關鍵字創建對象時,都會根據輸入的參數調用相應的構造函數,如果我們把構造函數設置為private私有訪問權限不就可以禁止外部創建對象了嗎?臣子叩拜唯一皇帝的過程類圖如圖7-1所示。 ![](https://box.kancloud.cn/2016-08-14_57b0036000691.jpg) 圖7-1 臣子叩拜皇帝類圖 只有兩個類,Emperor代表皇帝類,Minister代表臣子類,關聯到皇帝類非常簡單。Emperor如代碼清單7-1所示。 代碼清單7-1 皇帝類 public?class?Emperor?{ ?????private?static?final?Emperor?emperor?=new?Emperor();??//初始化一個皇帝 ?????private?Emperor(){ ?????????????//世俗和道德約束你,目的就是不希望產生第二個皇帝 ?????} ?????public?static?Emperor?getInstance(){ ?????????????return?emperor; ?????} ?????//皇帝發話了 ?????public?static?void?say(){ ?????????????System.out.println("我就是皇帝某某某...."); ?????} } 通過定義一個私有訪問權限的構造函數,避免被其他類new出來一個對象,而Emperor自己則可以new一個對象出來,其他類對該類的訪問都可以通過getInstance獲得同一個對象。 皇帝有了,臣子要出場,其類如代碼清單7-2所示。 代碼清單7-2 臣子類 public?class?Minister?{ ?????public?static?void?main(String[]?args)?{ ?????????????for(int?day=0;day<3;day++){ ?????????????????????Emperor??emperor=Emperor.getInstance(); ?????????????????????emperor.say();?? ?????????????} ?????????????//三天見的皇帝都是同一個人,榮幸吧! ?????} } 臣子參拜皇帝的運行結果如下所示。 我就是皇帝某某某.... 我就是皇帝某某某.... 我就是皇帝某某某.... 臣子天天要上朝參見皇帝,今天參拜的皇帝應該和昨天、前天的一樣(過渡期的不考慮,別找茬哦),大臣磕完頭,抬頭一看,嗨,還是昨天那個皇帝,老熟人了,容易講話,這就是單例模式。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看