91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java中怎么實現接口繼承

發布時間:2021-06-25 16:23:23 來源:億速云 閱讀:344 作者:Leah 欄目:編程語言

本篇文章為大家展示了Java中怎么實現接口繼承,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

一 接口的繼承

1 點睛

接口支持多繼承,一個接口可以有多個父接口,子接口擴展某個父接口,將會獲得父接口里定義的所有抽象方法、常量。

一個接口繼承多個父接口時,多個父接口排在extends關鍵字之后。

2 代碼

interface interfaceA{  int PROP_A = 5;  void testA();}interface interfaceB{  int PROP_B = 6;  void testB();}interface interfaceC extends interfaceA, interfaceB{  int PROP_C = 7;  void testC();}public class InterfaceExtendsTest{  public static void main(String[] args)  {   System.out.println(interfaceC.PROP_A);   System.out.println(interfaceC.PROP_B);   System.out.println(interfaceC.PROP_C);  }}

3 運行

567

4 說明

interfaceC接口繼承了 interfaceA和 interfaceB,所以 interfaceC中獲得了它們的常量,因此在main()方法中看到通過 interfaceC來訪問PROP_A、PROP_B、PROP_C常量。

二 使用接口

1 點睛

接口不能用于創建實例,但接口可以用于聲明引用類型變量。但這個引用類型的變量必須引用到其實現類的對象。接口的主要用途就是被實現類實現。接口主要有如下用途。

定義變量,也可用于進行強制類型轉換。  調用接口中定義的常量。  被其他類實現。

一個類可以實現一個或多個接口,繼承使用extends關鍵字,實現則使用implements關鍵字。一個類可以實現多個接口,這是Java為單繼承靈活性不足所做的補充。

一個類實現一個或多個接口之后,這個類必須完全實現這些接口里所定義的全部抽象方法(也就是重寫這些抽象方法);否則,該類將保留從父接口那里繼承到的抽象方法,該類也必須定義成抽象類。

2 代碼

interface Output{  // 接口里定義的成員變量只能是常量  int MAX_CACHE_LINE = 50;  // 接口里定義的普通方法只能是public的抽象方法  void out();  void getData( String msg );  // 接口中定義默認方法,需要使用default修飾  default void print( String... msgs )  {   for (String msg : msgs)   {     System.out.println(msg);   }  }  // 接口中定義默認方法,需要使用default修飾  default void test()  {   System.out.println("默認的test()方法");  }  // 接口中定義類方法、需要使用static修飾  static String staticTest()  {   return "Class method";  }}// 定義一個Product接口interface Product{  int getProduceTime();}// 讓Printer類實現Output和Product接口public class Printer implements Output , Product{  private String[] printData   = new String[MAX_CACHE_LINE];  // 用以記錄當前需打印的作業數  private int dataNum = 0;  public void out()  {   // 只要還有作業,繼續打印   while(dataNum > 0)   {     System.out.println("打印機打印:" + printData[0]);     // 把作業隊列整體前移一位,并將剩下的作業數減1     System.arraycopy(printData , 1      , printData, 0, --dataNum);   }  }  public void getData(String msg)  {   if (dataNum >= MAX_CACHE_LINE)   {     System.out.println("輸出隊列已滿,添加失敗");   }   else   {     // 把打印數據添加到隊列里,已保存數據的數量加1。     printData[dataNum++] = msg;   }  }  public int getProduceTime()  {   return 45;  }  public static void main(String[] args)  {   // 創建一個Printer對象,當成Output使用   Output o = new Printer();   o.getData("輕量級Java EE企業應用實戰");   o.getData("瘋狂Java講義");   o.out();   o.getData("瘋狂Android講義");   o.getData("瘋狂Ajax講義");   o.out();   // 調用Output接口中定義的默認方法   o.print("孫悟空" , "豬八戒" , "白骨精");   o.test();   // 創建一個Printer對象,當成Product使用   Product p = new Printer();   System.out.println(p.getProduceTime());   // 所有接口類型的引用變量都可直接賦給Object類型的變量   Object obj = p;  }}

3 運行

打印機打印:輕量級Java EE企業應用實戰打印機打印:瘋狂Java講義打印機打印:瘋狂Android講義打印機打印:瘋狂Ajax講義孫悟空豬八戒白骨精默認的test()方法45

4 說明

Printer 實現了 Output 接口和 Product接口,因此Pinter對象即可以直接賦給Output變量,也可直接賦給Product變量。仿佛Printer類既是Output類的子類,也是Product類的子類,這就是Java提供的模擬多繼承。

Printer實現了Output接口,即可獲取Output接口中定義的print()方法和test()兩個默認方法,因此Printer實例可以直接調用這兩個默認方法。

接口不能顯示繼承任何類,但所有接口類型的引用變量都可以直接賦給Object類型的引用變量。

上述內容就是Java中怎么實現接口繼承,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

秭归县| 绥化市| 乌兰县| 汾西县| 洛阳市| 峨边| 宝应县| 伊宁市| 调兵山市| 虞城县| 潍坊市| 磴口县| 孟村| 华池县| 新余市| 长白| 湘潭县| 天镇县| 洛扎县| 濮阳市| 绥德县| 阿巴嘎旗| 达州市| 玉树县| 东山县| 历史| 临高县| 阿拉善右旗| 正蓝旗| 临武县| 佛冈县| 织金县| 湛江市| 广水市| 滕州市| 保康县| 鸡东县| 凉山| 巴中市| 江永县| 喀喇沁旗|