<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    程序手記

    程序是我畢生的追求......
    隨筆 - 19, 文章 - 0, 評論 - 9, 引用 - 0
    數據加載中……

    JAVA面向對象編程 (接口) 第二天

        接口是JAVA語言中非常重要的概念,回調是軟件設計中常用的模式。JAVA的接口不僅可以用來實現多繼承關系,也用來實現回調機制。 java.lang.Comparable 接口和 java.util.Comparator 接口是進行數據對象比較和排序中需要實現的接口,他們在功能和使用方法上都有所不同。

        當類只從一個類繼承時稱為單繼承,JAVA語言只允許單繼承。如果需要多繼承關系,可以通過JAVA語言中的接口實現。
        抽象方法只有方法定義,沒有方法體,如果一個類包含任何抽象方法,包括直接的和繼承所得,則這個類必須是抽象的。如果一個類是抽象的,則不能創建此類的對象。抽象類強制要求他的所有子類重寫自己的方法以覆蓋抽象方法。
        如果存在超類 Animal,顯然cat同時具有 Animal和pet的特性,就是說,cat不只是一個animal還是一個pet,除需要繼承animal類,還期望能實現pet類。因為JAVA只允許單繼承,CAT不能繼承animal又繼承pat,解決這個問題的方法是定義接口,并通過接口實現多繼承。

    定義接口
        我們把只有抽象方法和常量的抽象類稱為接口,接口形式化定義了一組相互有關系的未實現的方法。接口的定義包括接口聲明和接口體。
    接口聲明的語法為:[public] interface 接口名 [extends 父接口名] {。。。。。。}
        EXTENDS子句與類聲明的extends子句基本相同,不同的是:一個接口可以有多個父接口,用逗號隔開,而一個類只能有一個父類。
        接口體包括常量和抽象方法。
       
    接口Pet示例:

        interface Pet{
            public abstract void speak();
        }
        public class Dog implements Pet{
            public void speak(){
                System.out.println("Woof");
            }
        }
        public class Cat implements Pet{
            public void speak(){
                System.out.println("Meow");
            }
        }
        public class Bird implements Pet{
            public void speak(){
                System.out.println("Tweedle");
            }
        }
        public class TestAnimals{
            public static void main(String args[]){
                Pet myPets = new Pet[4];
                myPets[0] = new Bird();
                myPets[1] = new Cat();
                myPets[2] = new Bird();
                myPets[3] = new Dog();
                
                for(int index = 0; index<4; index++){
                    myPets[index].speak();
                }
            }
        }


        類Bird ,Cat 和 Dog 與 Pet 不再具有父子關系,而分別是實現了接口Pet的類。
        一個接口的定義由關鍵字 interface 開始,包括一套 public ,abstract 方法,接口也可以包含 public ,final,static數據。一個期望使用接口的類必須將自己聲明為 implements 接口,并重寫接口定義的每個方法,保證參數列表及返回類型與接口中所定義的相一致。簡單說,強制要求實現接口的類覆蓋接口的方法。
        如果一個類沒有覆蓋接口定義中的全部方法,那么這個類就稱為抽象類,必須貝聲明為 abstract。

    用Cat類繼承Animal 類 和 定義Pet接口的示例:
    public class Cat extends Animal implements Pet{
        public void speak(){//實現
    }
    }

    posted on 2008-08-02 18:01 程序手記 閱讀(248) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 久久亚洲精精品中文字幕| 免费一级做a爰片久久毛片潮喷| 久久精品国产亚洲av四虎| 国产无遮挡色视频免费观看性色| 暖暖日本免费在线视频| 亚洲欧洲日产国码久在线| 成人看的午夜免费毛片| 亚洲精品无码mⅴ在线观看| 好吊妞在线新免费视频| 亚洲国产精品ⅴa在线观看| 免费a级毛片无码a∨性按摩| 一级做a爰片久久免费| 国产91成人精品亚洲精品| 日韩在线免费看网站| 曰批全过程免费视频免费看 | 今天免费中文字幕视频| 亚洲电影一区二区三区| 久久大香香蕉国产免费网站| 亚洲综合区图片小说区| 97无码免费人妻超级碰碰夜夜| 亚洲中文字幕久久无码| 日本免费一区二区久久人人澡| 亚洲天堂在线播放| www.黄色免费网站| 婷婷亚洲综合五月天小说在线| 中文字幕亚洲一区二区va在线| 在线观看片免费人成视频播放| 97久久精品亚洲中文字幕无码| 野花高清在线电影观看免费视频| 国产亚洲一卡2卡3卡4卡新区| 国产亚洲午夜高清国产拍精品| 色欲A∨无码蜜臀AV免费播| 亚洲一区精彩视频| 亚洲中文字幕无码永久在线| 777成影片免费观看| 337P日本欧洲亚洲大胆艺术图 | 91久久亚洲国产成人精品性色| 好男人www免费高清视频在线| 免费国产污网站在线观看不要卡| 久久精品亚洲一区二区| 免费做爰猛烈吃奶摸视频在线观看 |