官术网_书友最值得收藏!

2.2.2 類繼承的實現

Java中的繼承是通過extends關鍵字來實現的,在定義新類時使用extends關鍵字指明該類的父類,這樣就在兩個類之間建立了繼承關系。

1.子類聲明

      [修飾符]  class  子類名  extends  父類名 {  // 類頭的定義
          成員變量聲明; // 類體的定義
          成員方法定義;
      }

一般在類聲明中,加入extends子句來創建一個類的子類,extends后即為父類名。若父類名又是某個類的子類,則新定義的類也是其父類的父類的(間接)子類,其層次不限。若無extends子句,則該類為java.lang.Object的子類。

2.類繼承的傳遞性

類繼承具有傳遞性,即子類繼承父類的所有非私有成員,也繼承父類的父類直至祖先所有的非私有成員。繼承是傳遞的,這正體現了大自然中特殊與一般的關系。

例2-5】 設計一個長方體類Cube,它繼承自矩形類Rectangle,它除了有矩形類的長、寬屬性和計算面積的方法外,還有表示長方體高的成員變量height以及計算長方體體積的方法volume()。

            // 矩形類
          class Rectangle {
              double length;              // 長
              double width;               // 寬
              double area(){              // 求長方形的面積
                     return length * width;
              }
              void setDim(double w,double l){ // 設置長方形的長和寬
                    width = w;
                    length = l;
              }
          }
                                      // 長方體類,繼承于Rectangle類
          class Cube extends Rectangle {
          double height;                  // 高
          public Cube(double width,double length,double height){// 構造方法
              this.width=width;
              this.length=length;
              this.height = height;
          }
          double volume(){                // 求長方體的體積
              return area()*height;
          }
          }
                                      //主類(擁有main方法的類)
          public class Test {
          public static void main(String[] args) {
              Cube c = new Cube(1, 2, 3);
              System.out.println("長: " + c.length + "\t寬: " + c.width + "\t高: "+ c.height);
              System.out.println("長方體的體積: " + c.volume());
          }
          }

該程序的運行結果如下:

            長:2.0  寬:1.0  高:3.0
            長方體的體積: 6.0

從這個例子可以看出,子類沒有再寫計算面積的方法,但是卻可以直接使用該方法,因為子類從父類將該方法繼承了下來。

主站蜘蛛池模板: 毕节市| 芦溪县| 遂宁市| 临漳县| 临高县| 牡丹江市| 龙陵县| 清原| 松阳县| 太康县| 轮台县| 凉城县| 酒泉市| 泾源县| 疏附县| 古丈县| 庆云县| 邵东县| 横峰县| 五常市| 丰原市| 屏东市| 安阳市| 霍州市| 罗平县| 龙口市| 广河县| 都匀市| 乌兰浩特市| 平舆县| 察隅县| 雅江县| 炎陵县| 福建省| 周宁县| 南丰县| 华安县| 香格里拉县| 思茅市| 砚山县| 淮阳县|