Java--介面

來源:互聯網
上載者:User

標籤:interface   模組化   繼承   size   一個   沒有   優點   程式設計   定義   

一、介面概述

    介面是功能的集合,同樣可看做是一種資料類型,是比抽象類別更為抽象的”類”。

  介面只描述所應該具備的方法,並沒有具體實現,具體的實現由介面的實作類別(相當於介面的子類)來完成。這樣將功能的定義與實現分離,最佳化了程式設計。

  格式:與定義類的class不同,介面定義時需要使用interface關鍵字。

     定義介面所在的仍為.java檔案,雖然聲明時使用的為interface關鍵字的編譯後仍然會產生.class檔案。

     這點可以讓我們將介面看做是一種只包含了功能聲明的特殊類。

     public interface 介面名{

       抽象方法

     }

      (1)介面中的方法全是抽象方法,直接new介面來調用方法沒有意義,Java也不允許這樣幹

     (2)類與介面的關係為實現關係,即類實現介面。實現的動作類似繼承,只是關鍵字不同,實現使用implements

     (3)其他類(實作類別)實現介面後,就相當於聲明:”我應該具備這個介面中的功能”。實作類別仍然需要重寫方法以實現具體的功能。

二、介面中成員的特點

    A:類與類之間:繼承關係,一個類只能直接繼承一個父類,但是支援多重繼承

        B:類與介面之間:只有實現關係,一個類可以實現多個介面

           C:介面與介面之間:只有繼承關係,一個介面可以繼承多個介面

三、介面的優點

    1.類與介面的關係,實現關係,而且是多實現,一個類可以實現多個介面,類與類之間是繼承關係,java中的繼承是單一繼承,一個類只能有一個父類,打破了繼承的局限性。

 

      2.對外提供規則

 

      3.降低了程式的耦合性(可以實現模組化開發,定義好規則,每個人實現自己的模組,提高了開發的效率)

四、介面和抽象類別的區別

    1.共性:

        不斷的進行抽取,抽取出抽象的,沒有具體實現的方法,都不能執行個體化(不能建立對象)

      2.區別1: 與類的關係

        類與介面是實現關係,而且是多實現,一個類可以實現多個介面,類與抽象類別是繼承關係,Java中的繼承是單一繼承,多層繼承,一個類只能繼承一個父類,但是可以有爺爺類

      3.區別2: 成員

        a.成員變數

        抽象類別可以有成員變數,也可以有常量

        介面只能有常量,預設修飾符public static final

        b.成員方法

        抽象類別可以有抽象方法,也可以有非抽象方法

        介面只能有抽象方法,預設修飾符 public abstract

        c.構造方法

        抽象類別有構造方法,為子類提供

        介面沒有構造方法

 

 

 

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.