<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • Java中接口的使用

    時(shí)間:2024-06-19 15:13:46 SUN認(rèn)證 我要投稿
    • 相關(guān)推薦

    Java中接口的使用

      接口申明必須有interface關(guān)鍵字和接口的名字,public指明任意類均可以使用這個(gè)接口,默認(rèn)情況下,只有與該接口定義在同一個(gè)包中的類才可以訪問這個(gè)接口。extends 與類申明中的extends 基本相同,不同的是一個(gè)接口可以有多個(gè)父接口,用逗號(hào)隔開。而一個(gè)類只能有一個(gè)父類。子接口繼承接口中所有的常量和方法。在類的申明中用implements來表示一個(gè)類實(shí)現(xiàn)某個(gè)接口,在類體中可以使用接口中定義的常量,而且必須實(shí)現(xiàn)接口中定義的所有方法(可以是空的實(shí)現(xiàn)但一定要實(shí)現(xiàn)),否則該類就是一個(gè)抽象類。一個(gè)類可以實(shí)現(xiàn)多個(gè)接口。接口的作用,一言以蔽之,就是標(biāo)志類的類別(type of class)。把不同類型的類歸于不同的接口,可以更好的管理他們。OO的精髓,是對(duì)對(duì)象的抽象,最能體現(xiàn)這一點(diǎn)的就是接口。

      接口不是類,尤其是絕對(duì)不能使用new 操作符實(shí)例化接口;

      Module md=new Module()//錯(cuò)誤

      不過,雖然不能構(gòu)造接口對(duì)象,但還是可以聲明接口變量。

      Module md;

      接口變量必須指向一個(gè)實(shí)現(xiàn)了該接口的類的對(duì)象;

      x=new MotorModule();//只要實(shí)現(xiàn)了Module就對(duì)了

      可以用instanceof來檢驗(yàn)對(duì)象是否實(shí)現(xiàn)了某個(gè)接口(只要它屬于的類或者父類實(shí)現(xiàn)了某個(gè)接口都可以);

      if(anObject instanceof Module){...}

      接口在軟件發(fā)布的時(shí)候是向用戶公開的,用戶可以通過調(diào)用實(shí)現(xiàn)接口的類的接口方法,而如果不實(shí)現(xiàn)接口用戶是不能調(diào)用的。

      也就是我們常可以聽到的服務(wù)提供商這樣說:"如果你們的類遵循一個(gè)特定的接口,那么我們將執(zhí)行這些服務(wù)

      java 接口的使用舉例

      //以下程序說明 并不嚴(yán)謹(jǐn),只是為了方便初學(xué)者初步的理解接口的應(yīng)用

      interface Interface //接口 {

      String ShowMessage(String MSG); //接口方法,因?yàn)榻涌诜椒J(rèn)是public abstract 所以這里可以不用顯示書寫

      }

      class ClassItf implements Interface //全部實(shí)現(xiàn)了接口interface類的方法;

      {

      public ClassItf()

      {

      //構(gòu)造函數(shù)

      }

      public String ShowMessage(String MSG) //實(shí)現(xiàn)接口方法ShowMessage()

      {

      System.out.print(MSG);

      return MSG;

      }

      }

      /* usingItf 類調(diào)用了接口方法,來實(shí)施某一些功能,但是具體的操作有接口實(shí)現(xiàn)類來操作,

      將必要的數(shù)據(jù)通信給接口,實(shí)現(xiàn)了數(shù)據(jù)的通信; 這里如此說明并不嚴(yán)謹(jǐn),只是便于初學(xué)者理解

      */

      class usingItf //"驅(qū)動(dòng)類"

      {

      public String getstring;

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

      {

      getstring=inf.ShowMessage(MSG);

      }

      }

      public class Test //Test函數(shù)

      {

      public static void main(String args[])

      {

      ClassItf newClassItf=new ClassItf();

      usingItf aa =new usingItf();

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

      }

      }

    【Java中接口的使用】相關(guān)文章:

    java中File類的使用方法10-01

    Java的接口和抽象類07-09

    java中continue跳轉(zhuǎn)語句使用方法06-06

    java中File類有哪些使用方法06-30

    音源接口使用方法技巧08-09

    使用JavaScript實(shí)現(xiàn)Java的List功能10-26

    在java中Synchronized的用法10-15

    sun認(rèn)證考試:Java.io的使用08-23

    Java中的動(dòng)態(tài)代碼編程06-27

    在Java中執(zhí)行JavaScript代碼07-14

    主站蜘蛛池模板: 国产精品vⅰdeoxxxx国产| 国产精品成人va在线观看| 国产精品国产三级国产AV主播| 国产成人精品男人的天堂538 | 久久精品国产免费一区| 久久无码精品一区二区三区| 国产精品一区二区久久精品| 中文字幕无码精品三级在线电影| 色偷偷88888欧美精品久久久| 久久精品水蜜桃av综合天堂| 久久精品夜色噜噜亚洲A∨| 久久91精品国产91久久户| 无码人妻精品中文字幕| 欧美国产成人久久精品| 办公室久久精品| 99re6在线精品免费观看| 亚洲欧洲成人精品香蕉网| 精品水蜜桃久久久久久久| 99在线精品免费视频| 国产精品专区第二| 国产午夜福利精品久久2021| 中国精品18videosex性中国| 日韩精品一区二区午夜成人版| 2021国产成人精品国产| 久热这里只有精品视频6| 亚洲精品国产日韩无码AV永久免费网| 国产精品久久久久国产A级| 中文字幕精品无码一区二区三区| 98视频精品全部国产| 国产欧美精品一区二区三区| 亚洲国产精品成人精品无码区| 国产精品91视频| 国产欧美精品AAAAAA片| 精品无码久久久久久午夜| 无码人妻精品一区二区三区东京热 | 国产精品人成在线观看| 欧美精品人爱c欧美精品| 久久精品国产亚洲一区二区| 国产精品免费网站| 久久精品国产一区| 在线电影国产精品|