<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 功能強大 支持多語言、二開方便! 廣告
                # 深入構造器 [TOC] ## 概述 >[danger] 構造器的最大用處就是創建對象 如果在類中沒有顯式的定義一個構造器,則編譯器在編譯源文件時,會創建一個沒有參數,沒有方法體的空的構造器,**也就是說在一個類中至少會存在一個構造方法**。 正是因為有了這樣一個構造器,所以在實例化一個對象的時候,采用“new 構造器()”的時候才不會有沒有無參數構造方法的錯誤信息。 如果顯式的定義了一個構造器,則上述空的構造器將不會存在。 **通過構造器為成員變量定義初始化值,這也是構造器的最最最重要的用途之一** ## 構造器重載 如果需要在構造器中調用另外一個構造器,可以使用this(param); 在構造器中調用構造器,必須把this(param)放在有效的執行語句的第一行,而且不允許出現兩條this(param)語句。 ~~~ public Demo() { super(); } public Demo(int age) { this.age = age; System.out.println("調用了含age的構造器"); } public Demo(String name) { this.name = name; System.out.println("調用了含name的構造器"); } public Demo(int age,String name) { this(age); this.name = name; } Demo demo = new Demo(10, "Tom"); ~~~ 構造器的重載的好處在于,可以再對象實例化的時候通過不同的構造方法來進行屬性初始化內容的設置,減少setter()方法的應用,以實現簡化代碼的目的。 ## 方法的簽名 什么是方法的簽名:方法的簽名是由方法的方法名和形參列表(注意:包含方法的參數和類型)組成; 注意:**不包含返回值和訪問修飾符的**。 ~~~ public void say(String name,String sayWhat,int age) { System.out.println(name + "在" + age + "歲時,說" + sayWhat); } public void say(int sayWhat,String name,int age) { System.out.println(name + "在" + age + "歲時,說" + sayWhat); } ~~~ ## 重載 重載(overload):是讓類以同一種的方式處理不同類型的數據的一種手段,實質上就是多個具有不同的參數個數或者類型的同名方法(返回值的類型可以隨意,不能以返回值的類型作為重載函數的區分標準)。 重載是在一個類中,多態性的一種表現(調用方法時通過傳遞不同參數個數和參數類型來決定具體使用哪個方法)。 重載的規則:方法名必須相同,必須具有不同的參數列表;可以有不同的返回類型;可以有不同的訪問修飾符;可以拋出不同的異常; ~~~ public void say(String name,String sayWhat,int age) { System.out.println(name + "在" + age + "歲時,說" + sayWhat); } public String say(int sayWhat,String name,int age) { System.out.println(name + "在" + age + "歲時,說" + sayWhat); return ""; } ~~~ 單類**中**的多態性:這邊強調的是在一個類中,本質上是類中方法的多態性;
                  <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>

                              哎呀哎呀视频在线观看