<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之旅 廣告
                >[success] # java 繼承 * 當多個類之間有**相同**的**特征和行為**時,可以將相同的**內容提取**出來組成 **一個公共類**,讓多個類吸收公共類中已有特征和行為而在多個類型只需 要編寫自己獨有特征和行為的機制,叫做**繼承** ~~~ public class Worker extends Person{} ~~~ * Worker類繼承自Person類,其中Person類叫做**超類、父類、基類**Worker類叫**做派生類、子類、孩子類** * **繼承作用** 避免代碼重復,通過`extends` 繼承,子類繼承父類后將有**本類的成員(變量和方法)和父類的成員(變量和方法)**,承提高了代碼的**復用性**,**可維護性**及**擴展性** * 使用繼承必須滿足邏輯關系:**子類 is a 父類**,也就是不能濫用繼承。 * Java語言中只支持單繼承**不支持多繼承** >[danger] ##### 繼承特點 1. 子類無法訪問父類的`private`字段或者`private`方法 * 父類 ~~~ public class Person { private int age = 12; public String name = "w"; private void work() { System.out.print("私有的子類不能訪問"); } public void sleep() { System.out.print("共有的子類能訪問"); } } ~~~ * 子類 ~~~ public class Worker extends Person { void userParent() { sleep(); System.out.print(name); // worker(); // 私有的無法訪問 // System.out.print(age); // 私有的無法訪問 } public static void main(String[] args) { Worker worker = new Worker(); worker.userParent(); } } ~~~ 2. **子類的對象**時都會**自動調用父類的無參構造方法**, 來初始化從父類中繼承的成員變量,相當于在構造方法的第一行增加代 碼`super()`的效果,因此`this()`和`super()` 不能共存,想調用父類有參的構造函數需要調用傳參`super(參數)` * 父 ~~~ public class Person { Person() { System.out.println("無參的構造方法"); } Person(int age) { System.out.println("有參的構造方法"); } Person(String name) { System.out.println("有參的構造方法"); } } ~~~ * 子 ~~~ public class Worker extends Person { Worker() { // 默認相當于調用了無參的構造函數 // super(); System.out.println("子無參的構造方法"); } Worker(int age) { // 這么寫不可以因為二者要求都是是給首行 // super(); // this(); System.out.println("子有參的構造方法"); } Worker(String name) { super(name); System.out.println("子有參的構造方法"); } public static void main(String[] args) { Worker worker = new Worker(); // 無參的構造方法 子無參的構造方法 Worker worker1 = new Worker(10); // 無參的構造方法 子有參的構造方法 Worker worker2 = new Worker("w"); // 有參的構造方法 子有參的構造方法 } } ~~~
                  <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>

                              哎呀哎呀视频在线观看