Java裡面的介面Java裡面的介面

來源:互聯網
上載者:User

Java裡面由於不允許多重繼承,所以如果要實現多個類的功能,則可以通過實現多個介面來實現。

  Java介面和Java抽象類別代表的就是抽象類別型,就是我們需要提出的抽象層的具體表現。OOP物件導向的編程,如果要提高程式的複用率,增加程式的可維護性,可擴充性,就必須是面向介面的編程,面向抽象的編程,正確地使用介面、抽象類別這些太有用的抽象類別型做為你結構層次上的頂層。

  Java介面和Java抽象類別有太多相似的地方,又有太多特別的地方,究竟在什麼地方,才是它們的最佳位置呢?把它們比較一下,你就可以發現了。

  1、Java介面和Java抽象類別最大的一個區別,就在於Java抽象類別可以提供某些方法的部分實現,而Java介面不可以,這大概就是Java抽象類別唯一的優點吧,但這個優點非常有用。如果向一個抽象類別裡加入一個新的具體方法時,那麼它所有的子類都一下子都得到了這個新方法,而Java介面做不到這一點,如果向一個Java介面裡加入一個新方法,所有實現這個介面的類就無法成功通過編譯了,因為你必須讓每一個類都再實現這個方法才行,這顯然是Java介面的缺點。

  2、一個抽象類別的實現只能由這個抽象類別的子類給出,也就是說,這個實現處在抽象類別所定義出的繼承的等級結構中,而由於Java語言的單繼承性,所以抽象類別作為類型定義工具的效能大打折扣。在這一點上,Java介面的優勢就出來了,任何一個實現了一個Java介面所規定的方法的類都可以具有這個介面的類型,而一個類可以實現任意多個Java介面,從而這個類就有了多種類型。

  3、從第2點不難看出,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.