<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>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                **1、使用靜態方法代替構造器** ```java public static Boolean valueOf(boolean b) { return (b ? TRUE : FALSE); } ``` 優勢: * 靜態工廠方法的名稱可以明確描述正在返回的對象 * 靜態工廠方法可以返回已經緩存的對象,而不是像構造器一樣每次返回新的對象 * 靜態工廠方法可以返回原返回類型的任何子類型的對象 **2、存在多個構造器參數時推薦使用Builder模式** ```java // Phone.java public class Phone { private final String mBrand; private final int mColor; private final String mMemory; private final String mCPU; private Phone(Builder builder) { mBrand = builder.mBrand; mColor = builder.mColor; mMemory = builder.mMemory; mCPU = builder.mCPU; } public static class Builder { /** * 必需參數 */ private final String mBrand; private final int mColor; /** * 可選參數 */ private String mMemory = "6g"; private String mCPU = "835"; public Builder(String brand, int color) { mBrand = brand; mColor = color; } public Builder memory(String memory) { mMemory = memory; return this; } public Builder cpu(String cpu) { mCPU = cpu; return this; } public Phone build() { return new Phone(this); } } } ``` 使用Builder模式創建對象: ```java // MakePhone.java Phone mate20 = new Phone.Builder("Huawei", Color.BLACK) .cpu("980") .memory("6g") .build(); ``` Builder類最終的build方法中,會從Builder對象中獲取相應信息生成目標類的對象。 > 對于有多個參數的構造器來說 > * 重疊構造器模式線程安全,但不易編寫以及閱讀; > * JavaBean模式易編寫及閱讀,但是非線程安全; > * Builder模式綜合以上兩種模式的優點,既易編寫及閱讀,也是線程安全。 **3、使類和成員的可訪問性最小化** 設計良好的模塊會隱藏所有的實現細節,把它的API與實現清晰隔離開來,模塊之間只通過API進行通信,一個模塊不需要知道其他模塊內部的工作情況,這稱為信息隱藏或封裝。 * 公有類的實例域決不能是公有的
                  <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>

                              哎呀哎呀视频在线观看