Chapter 9 Abstract Classes and Interfaces

          1. 抽象類不能創建任何實例,但可以被當作數據類型使用,因此可以創建抽象類類型的數組
          ClassAbstract[] example = new ClassAbstract[];

          2. 含有抽象方法的類必須被聲名為抽象類,但抽象類不一定必須包含抽象方法。
          作為抽象類的子類,如果沒有實現(implement)所有的抽象方法,也只能被聲名為抽象類。
          抽象類也可以有自己的構造函數,以便被子類繼承。

          3. 子類可以重載父類的方法,并把它定義為抽象的。盡管這很少見,但是當父類的方法在子類中變得不可用時,就必須這么做。

          4. 上一章跳過的一個概念:Hiding Data Fields and Static Methods
          子類無法重載父類的數據域(無論靜態與否)或靜態方法,當你在子類中定義了同名的變量或是靜態方法的時候,原來的方法或變量就被隱藏了,但仍然存在,訪問它們有兩種方法,一種是用super關鍵字,另一種就是通過父類的reference訪問。
          例如
          class Animal {
          public String news = "Animal's news";

          public static String smile() {
          return "smile from Animal";
          }
          }

          class Tiger extends Animal {
          public String news = "Tiger's news";

          public static String smile() {
          return "smile for Tiger";
          }
          }

          x.news 為 Animal's news
          x.simle() 返回 smile from Animal
          只有將x造型(casting)為Tiger時,才會返回Tiger的內容。
          但是實例方法(instance method)不存在這個現象。

          5. Calendar 類及其子類

          6. 接口 Interface
          interface是一種類似于class的結構,且只包含常數和抽象方法。
          如java.lang.Comparable
          package java.lang;

          public interface Comparable {
          public int compareTo(Object o);
          }

          max方法用來取兩個對象中較大的那一個:
          public class Max {
          public static Object max(Object o1, Object o2) {
          if (((Comparable)o1).compareTo(o2) < 0)
          return o1;
          else
          return o2;
          }
          }

          使用max:以字符串為例
          String s1 = "abcde";
          String s2 = "abcdg";
          String s3 = (String)Max.max(s1, s2);

          (Comparable)o1 告訴編譯器,把o1轉型為Comparable以便于調用comepareTo方法。


          posts - 403, comments - 310, trackbacks - 0, articles - 7
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          2.1 Java notes

          Posted on 2007-04-22 20:23 ZelluX 閱讀(90) 評論(0)  編輯  收藏 所屬分類: OOP
          2007-02-01 21:49:19
          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 阜康市| 辛集市| 都昌县| 宜兴市| 莎车县| 新乐市| 江永县| 亚东县| 徐州市| 托克托县| 南陵县| 哈尔滨市| 临汾市| 灵寿县| 西平县| 中阳县| 长沙县| 关岭| 分宜县| 竹北市| 兴和县| 万载县| 徐闻县| 大厂| 肥东县| 蒙阴县| 得荣县| 仁怀市| 靖州| 隆子县| 囊谦县| 边坝县| 高台县| 都匀市| 遵义市| 星子县| 和林格尔县| 淄博市| 库尔勒市| 平乐县| 奉新县|