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

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                這一節我們來學習一下構造函數的重載。 說到重載,我們在函數那一章已經學習過了,為了更好的理解構造函數的重載,我們先要弄明白一個問題: 那就是什么時候定義構造函數呢? 在描述事物時,該事物已存在就具備一些內容,這些內容都定義在構造函數中。 我們來看例子: ~~~ class Person { private String name; private int age; Person() { System.out.println("person run"); } public void speak() { System.out.println(name+":"+age); } } ~~~ 我們來測試一下: ~~~ class ConsDemo { public static void main(String[] args) { Person p = new Person();//此時調用了構造函數 p.speak(); } } ~~~ 結果: ![](https://box.kancloud.cn/2016-05-18_573c41afb95ea.jpg) 此時打印結果為null和0,就是說我們從來沒有對成員變量賦過值。 那么當我們想要在創建Person對象時成員變量就有值,可以定義這樣的構造函數: ~~~ class Person { private String name; private int age; Person()//構造函數,分別為成員變量name和age賦值 { name = "baby"; age = 1; System.out.println("person run"); } public void speak() { System.out.println(name+":"+age); } } ~~~ 測試 ~~~ class ConsDemo { public static void main(String[] args) { Person p = new Person(); p.speak(); } } ~~~ 我們看到結果: ![](https://box.kancloud.cn/2016-05-18_573c41afcd8c2.jpg) 那么如果我們要使一個Person對象一出生就有名字,那么我們可以定義如下一個構造函數: ~~~ class Person { private String name; private int age; Person()//構造函數,分別為成員變量name和age賦固定的值 { name = "baby"; age = 1; System.out.println("person run"); } Person(String n)//構造函數,有一個初始name參數 { name = n; } public void speak() { System.out.println(name+":"+age); } } ~~~ 我們來測試一下: ~~~ class ConsDemo { public static void main(String[] args) { Person p = new Person(); p.speak(); Person p1 = new Person("旺財"); p1.speak(); } } ~~~ 看一下結果: ![](https://box.kancloud.cn/2016-05-18_573c41afe10d9.jpg) 同理,我們可以定義另外一個構造函數,把name和age兩個參數同時初始化 ~~~ class Person { private String name; private int age; Person()//構造函數,分別為成員變量name和age賦固定的值 { name = "baby"; age = 1; System.out.println("person run"); } Person(String n)//構造函數,有一個初始name參數 { name = n; } Person(String n,int a) { name = n; age = a; } public void speak() { System.out.println(name+":"+age); } } ~~~ 測試: ~~~ class ConsDemo { public static void main(String[] args) { Person p = new Person(); p.speak(); Person p1 = new Person("旺財"); p1.speak(); Person p2 = new Person("小強",10); p2.speak(); } } ~~~ 結果: ![](https://box.kancloud.cn/2016-05-18_573c41aff3aab.jpg) 從上面我們看到,一個類中我們定義了多個構造函數,它們的參數各不相同,這種現象就是構造函數的重載。 通過構造函數的重載,我們可以通過不同的構造函數初始化不同的對象。
                  <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>

                              哎呀哎呀视频在线观看