內蒙古java團隊

          j2se,j2ee開發組
          posts - 139, comments - 212, trackbacks - 0, articles - 65
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          Java中接口的使用[轉]

          Posted on 2010-04-25 22:17 帥子 閱讀(583) 評論(0)  編輯  收藏 所屬分類: j2se技術專區
          接口申明必須有interface關鍵字和接口的名字,public指明任意類均可以使用這個接口,默認情況下,只有與該接口定義在同一個包中的類才可以訪問這個接口。extends 與類申明中的extends 基本相同,不同的是一個接口可以有多個父接口,用逗號隔開。而一個類只能有一個父類。子接口繼承接口中所有的常量和方法。在類的申明中用implements來表示一個類實現某個接口,在類體中可以使用接口中定義的常量,而且必須實現接口中定義的所有方法(可以是空的實現但一定要實現),否則該類就是一個抽象類。一個類可以實現多個接口。接口的作用,一言以蔽之,就是標志類的類別(type of class)。把不同類型的類歸于不同的接口,可以更好的管理他們。OO的精髓,我以為,是對對象的抽象,最能體現這一點的就是接口。

            接口不是類,尤其是絕對不能使用new 操作符實例化接口;

            Module md=new Module()//錯誤

            不過,雖然不能構造接口對象,但還是可以聲明接口變量。

            Module md;

            接口變量必須指向一個實現了該接口的類的對象;

            x=new MotorModule();//只要實現了Module就對了

            可以用instanceof來檢驗對象是否實現了某個接口(只要它屬于的類或者父類實現了某個接口都可以);

            if(anObject instanceof Module){...}

            接口在軟件發布的時候是向用戶公開的,用戶可以通過調用實現接口的類的接口方法,而如果不實現接口用戶是不能調用的。

            也就是我們??梢月牭降姆仗峁┥踢@樣說:"如果你們的類遵循一個特定的接口,那么我們將執行這些服務

            java 接口的使用舉例

            //以下程序說明 并不嚴謹,只是為了方便初學者初步的理解接口的應用

            interface Interface???????? //接口?? {

            String ShowMessage(String MSG);? //接口方法,因為接口方法默認是public abstract 所以這里可以不用顯示書寫

            }

            class ClassItf implements Interface?? //全部實現了接口interface類的方法;

            {

            public ClassItf()

            {

            //構造函數

            }

            public String ShowMessage(String MSG)? //實現接口方法ShowMessage()

            {

            System.out.print(MSG);

            return MSG;

            }

            }

            /*?? usingItf 類調用了接口方法,來實施某一些功能,但是具體的操作有接口實現類來操作,

            將必要的數據通信給接口,實現了數據的通信;? 這里如此說明并不嚴謹,只是便于初學者理解

            */

            class usingItf?? //"驅動類"

            {

            public String getstring;

            public void usingItf(Interface inf,String MSG)? //使用了接口定義的方法 注意:使用了Interface 的引用 inf

            {

            getstring=inf.ShowMessage(MSG);

            }

            }

            public class Test????? //Test函數

            {

            public static void main(String args[])

            {

            ClassItf newClassItf=new ClassItf();

            usingItf aa =new usingItf();

            aa.usingItf(newClassItf,"This is the firstpage!!!!"); // 注意這里傳遞的接口實現類的實例,還有參數 class usingItf

            }

            }

          主站蜘蛛池模板: 巴林右旗| 灵丘县| 都江堰市| 沛县| 和林格尔县| 卓资县| 应城市| 清涧县| 新营市| 天气| 北宁市| 赤城县| 德江县| 长武县| 贵溪市| 阳山县| 宁海县| 镇巴县| 洮南市| 水城县| 墨脱县| 双城市| 靖边县| 额敏县| 萝北县| 五大连池市| 龙里县| 金阳县| 陇南市| 天水市| 南宫市| 法库县| 晋州市| 收藏| 沙湾县| 安陆市| 梅河口市| 辽阳市| 沾益县| 建德市| 平谷区|