java之介面與抽象類別和具體類之間的區別與聯絡

來源:互聯網
上載者:User

標籤:可維護性   部分   抽象方法   err   之間   增加   聯絡   不能   編程   

OOP語言,為了增加ADT的複用性和可維護性,通常需要使用介面和抽象類別。下面我們介紹一下介面,抽象類別,和具體類之間的區別和聯絡:

物件導向的編程,最主要的一個想法就是抽象。而介面和抽象類別就是為抽象而生的。

在介面中,沒有具體的屬性,只規定了相應的方法和對應的參數和傳回值。這是一種最高程度的抽象,需要找到要代表的這一類對象的所有的共性,判斷能夠滿足其應用的所有操作。然後在對介面的實現過程中,針對不同的對象執行個體,對於介面中的方法進行不同的實現。

而對於抽象類別,是較介面低一層次的抽象,它找到一些對象之間的共性,然後在自己的內部實現一定的功能,同時還規定一些抽象方法,讓繼承它的具體類能夠根據不同的特性對於抽象方法進行不同的抽象。

而具體類,就是我們在應用中實際要應用的類。對於這些類,其內部不能存在抽象方法,所有的方法都應有具體的實現。同時一個抽象類別可以對多個介面進行實現,只需要override介面中的抽象方法即可。而具體類只能繼承一個抽象類別,然後override抽象類別中的抽象方法。這是抽象類別和具體類之間的一個區別。同時,在介面中,沒有屬性,所有的方法都是抽象方法,而在抽象類別中,可以有具體的屬性,一部分方法可以是已經實現的,但是仍要求有一部分方法是抽象的,要不然不能叫做抽象類別,這是抽象類別和介面的另一個區別。

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.