<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之旅 廣告
                ## 1、定義抽象類 如果一個類只定義了一個為所有子類共享的一般形式,至于細節則交給每一個子類去實現,這種類沒有任何具體的實例,只具有一些抽象的概念,那么這樣的類稱為抽象類。語法格式如下: ``` [訪問修飾符] abstract class 類名 { [訪問修飾符] abstract 返回值類型 方法名(參數列表); } ``` abstract 表示該類或該方法是抽象的,如果在一個方法之前使用 abstract 來修飾,則說明該方法是抽象方法,不能有方法體。 包含一個或多個抽象方法的類必須通過在其 class 聲明前添加 abstract 關鍵字將其聲明為抽象類。因為一個抽象類不定義完整的實現,所以抽象類也就沒有自己的對象。因此,任何使用 new 創建抽象類對象的嘗試都會導致編譯時錯誤。 ``` public abstract class Aniaml {} ``` ## 2、抽象方法 * 使用abstract修飾的方法我們稱之為抽象方法。 * 抽象方法不含有方法體的。 * 含有抽象方法的類一定是抽象類,抽象類不一定有抽象方法。 * abstract 關鍵字只能用于普通方法,不能用于 static 方法或者構造方法中。 ``` public abstract class Animal { public abstract void eat(); } ``` 【選擇】下面代碼怎么修改可以編譯時不報錯()(選擇兩項) ``` public abstract class Bike { int colorNum; int brand; int speed; public abstract void speedup(); } public class SpeedBike extends Bike { // (1) public void speedup(); // (2) } ``` ``` A 在位置一處將 SpeedBike 類設為抽象類,同時將位置二處的 speedup 也設為抽象方法 B 將位置一中的 public 改為 final C 將位置二中 speedup() 方法改為抽象方法 D 將位置二中 speedup() 方法中加入方法的實現 ``` 【選擇】下列選項中,關于 Java 的抽象類和抽象方法說法不正確的是()(選擇一項) ``` A 抽象類和抽象方法都通過 abstract 關鍵字類修飾 B 抽象類中必須包含抽象方法 C 抽象方法只有方法聲明,沒有方法實現 D 子類如果不重寫父類所有的抽象方法,則必須設置為抽象類 ``` 【編程】定義一個抽象類圖形 Shape 類,由該派生出兩個子類圓 Circle 類和矩形 Rectangle 類。Shape 里聲明了抽象方法 area(),該方法分別在兩個子類里得到實現。程序參考運行效果圖如下: ``` 圓的面積為 38.465 矩形的面積為 30.0 ``` ``` public class Test { public static void main(String[] args) { // 1. 創建類的實例,并分別對圓的半徑和矩形的長寬進行賦值 // 2. 調用 area() 方法,輸出結果 } } public abstract class Shape { // 抽象方法 area() } public class Circle extends Shape { // 屬性:圓的半徑 r // 創建帶參數構造方法以及無參構造方法 // 創建針對半徑的賦值和取值方法 // 重寫父類中 area() 方法 } public class Rectangle extends Shape { // 屬性:矩形的長 length、寬 wide // 創建帶參構造方法以及無參構造方法 // 創建針對長、寬的賦值和取值方法 // 重寫父類的 area() 方法 } ```
                  <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>

                              哎呀哎呀视频在线观看