Java介面總結

來源:互聯網
上載者:User

標籤:首字母   預設   聲明   java   介面的基本文法   介面   執行個體化   而且   解釋   

介面的定義:

  使用interface來定義一個介面。介面定義與類的定義類似,也是分為介面的聲明和介面體,其中介面體由變數定義和方法定義兩部分組成,定義介面的基本文法如下:

[修飾符] interface 介面名 [extends 父介面名列表]{    [public] [static] [final] 變數;    [public] [abstract] 方法;}

修飾符:選擇性參數,用於指定介面的存取權限,可選值為public。如果省略則使用預設的存取權限。

介面名:必選參數,用於指定介面的名稱,介面名必須是合法的Java標識符。一般情況下,要求首字母大寫。

extends父介面名列表:選擇性參數,用於指定要定義的介面繼承於哪個父介面。當使用extends關鍵字時,父介面名為必選參數。

方法:介面中的方法只有定義而沒有被實現。

注意:介面名一般都有一個不成文的規定,即第一個字母為I。

例:

public interface IJiSuan {    public void QiuMianJi();    public void QiuZhouChang();}

 

public interface IXingZhuang {    public void Hua();}

 

public abstract class SiBianXing implements IJiSuan, IXingZhuang {    public void Hua(){        System.out.println("正在畫一個四邊形");    }}

 

public class JuXing extends SiBianXing {    private int a;    private int b;    public JuXing(int a,int b){        this.a  = a;        this.b = b;    }    @Override    public void QiuMianJi() {        double s = a*b;        System.out.println(s);    }    @Override    public void QiuZhouChang() {        double c = a+b+a+b;        System.out.println(c);;            }    public void Hua(){        System.out.println("正在畫一個矩型");    }}

可以對比看出

  介面用關鍵字interface聲明。

  介面的地位等同於class,介面中的所有方法都是抽象方法。

  介面中在定義方法的時候,可以使用abstract關鍵字,也可以省略abstract關鍵字,(大多數時候都是省略的),方法仍是抽象的,不能有實現的花括弧。

  介面和抽象類別的功能類似,介面也不能執行個體化,可以將介面看作是一種特殊的抽象類別(全是抽象方法)。

  介面的多態用法和抽象類別也類似,介面類型的引用可以指向實現了這個介面的類的對象。

 

提到介面,就會聯想到抽象,此時大家都會感覺介面和抽象很相似,那麼他們有什麼區別?

  1.介面本身就是抽象的,所以他的方法必須全部都是抽象的方法,但是抽象類別中的方法可以是抽象的,也可以是具體的,詳見前一篇內容對抽象類別的解釋。

  2.一個類可以實現介面,(類似於父子類之中用extends繼承)採用關鍵字implement。大家都知道Java是單繼承的,但是一個類可以實現多個介面,如上文中寫的SiBianXing就實現了IJiSuan, IXingZhuang兩個介面。

  3.如果一個類實現了一個介面或者多個介面,如果這個類是抽象類別,那麼這個類就不用實現介面的全部內容,如上例中SiBianXing定義的就是一個abstract抽象類別,所以不用實現IJiSuan, IXingZhuang兩個介面中所有的內容。

  4.同理於3,如果一個類實現了一個介面或者多個介面,如果這個類不是抽象類別,是一個具體類的話,那麼這個類就必須實現介面的全部內容,如上例中的JuXing,雖然JuXing是繼承的SiBianXing,但是SiBianXing是一個抽象類別,並沒有實現所有介面的內容,而且JuXing沒有定義abstract,是一個具體類,那麼JuXing就必須把IJiSuan, IXingZhuang兩個介面中所有的內容全部實現,也就是如上例中所寫。

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.