JAVA學習遇到的問題:介面實現

來源:互聯網
上載者:User

標籤:void   多重繼承   span   java   eve   效能   out   樣本   str   

引用知乎看到對介面的總結:

介面就是個招牌
比如說你餓了,看到前面有個掛著KFC的店,然後你想到可以進去買漢堡了。
KFC就是介面,我們看到了這個介面,就知道這個店會賣漢堡(實現介面)。
那麼為什麼我們要去定義一個介面,這個店可以直接賣漢堡啊(直接寫實現方法),是的,這個店可以直接賣炸雞腿,但沒有掛KFC的招牌,我們就不知道裡面賣的是啥。
我們可能就要進去問,你這裡賣不賣漢堡啊(這就是反射)。很顯然,這樣一家家的問實在是非常麻煩(反射效能很差)。
我們可能就要記住,XX路XXX號賣漢堡,XX...(寫入程式碼),很顯然這樣我們要記住的很多很多東西(代碼量劇增),而且,如果有新的店賣漢堡,我們也不可能知道(不利於擴充)。 

介面的定義如下:

[修飾符]interface<介面名>[extends<介面列表>]{    資料成員;   //預設為public static final    成員函數;   //預設為public abstract}

注意:介面可實現多重繼承

介面的實現如下:

[存取修飾詞]class 類名 implements[介面列表]{        public  成員函數;}
樣本如下: 
 1 interface InterFace0{ 2     void print(); 3 } 4 class InterFace1 implements InterFace0{ 5     public void print(){ 6         System.out.println("介面InterFace0實現"); 7     } 8 } 9 public class InterFace {10     public static void main(String args[]){11         InterFace1 inter = new InterFace1();12         inter.print();13     }14 }

介面的多重繼承:

1.可以讓一個介面去繼承多個介面, 再用一個類來實現介面

 1 interface InterFace0{ 2     void print0(); 3 } 4 interface InterFace1{ 5     void print1(); 6 } 7 //介面InterFace2繼承InterFace0,InterFace1 8 interface InterFace2 extends InterFace0,InterFace1{          9 }10 //achieve類實現介面11 class achieve implements InterFace2{                      12     public void print0(){13         System.out.println("InterFace0  print0方法");14     }15     public void print1(){16         System.out.println("InterFace1  print1方法");17     }18 }19 public class InterFace {20     public static void main(String args[]){21         achieve inter = new achieve();22         inter.print0();23         inter.print1();24     }25 }26 //輸出:27 //InterFace0  print0方法28 //InterFace1  print1方法

2.也可以讓一個類去繼承多個介面

 1 interface InterFace0{ 2     void print0(); 3 } 4 interface InterFace1{ 5     void print1(); 6 } 7 //類achieve繼承InterFace0,InterFace1兩個介面 8 class achieve implements InterFace0,InterFace1{ 9     public void print0(){10         System.out.println("InterFace0  print0方法");11     }12     public void print1(){13         System.out.println("InterFace1  print1方法");14     }15 }16 public class InterFace {17     public static void main(String args[]){18         achieve inter = new achieve();19         inter.print0();20         inter.print1();21     }22 }23 //輸出:24 //InterFace0  print0方法25 //InterFace1  print1方法

 

 

JAVA學習遇到的問題:介面實現

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.