java 抽象類別和介面的差別

來源:互聯網
上載者:User

標籤:類型   介面   成員   rac   span   相同   mod   細節   ati   

??

 文法層面上:

       1)抽象類別能夠提供成員方法的實現細節。而介面中僅僅能存在public abstract 方法。

  2)抽象類別中的成員變數能夠是各種類型的。而介面中的成員變數僅僅能是public static final類型的。

  3)介面中不能含有靜態代碼塊以及靜態方法。而抽象類別能夠有靜態代碼塊和靜態方法;

  4)一個類僅僅能繼承一個抽象類別。而一個類卻能夠實現多個介面。

補充:抽象類別中可以不提供abstart方法,相同該類也不可以執行個體化

設計層面上:

       抽象是繼承是“是不是”的關係。介面實現是“有沒有”的關係。不如說有個抽象類別Door(門),一個門類的繼承子類WoodDoor(木門)。這個就是抽象類別的繼承。

比方有個Bird(鳥)類。有一個(Airplane)飛機類,它們都有一個方法fly()方法。這裡就沒有辦法用抽象類別來解決問題了,要用介面,由於顯然鳥和飛機不是子類和父類的關係,它們僅僅是有共同的行為方法,它們都有fly方法,這個是“有沒有”的概念。


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.