1. 程式人生 > 其它 >Java介面、抽象類、實體類的區別與關係

Java介面、抽象類、實體類的區別與關係

介面:在JDK7.0之前只能有抽象方法,8.0新增了靜態方法和預設方法。9.0又新增了私有方法。所以介面不能被繼承只能被實現。一個類可以實現一個或多個介面,如果類實現介面(可能是多個)其中有部分抽象方法(哪怕只有1個)沒有被實現,則這個類只能是抽象類,如果你希望定義一個實體類,則必須實現所有抽象方法。

抽象類:可以有抽象方法,也可以沒有抽象方法。

實體類:不能有抽象方法。

抽象類和實體類可以相互繼承,只不過實體類要繼承抽象類就必須實現抽象類的所有抽象方法。Java只允許單繼承,也就是一個類只能有一個父類。

抽象類繼承實體類作用就是不用重寫實體類已經定義的成員變數和相關方法,但可以新增自己的成員變數和方法(包括抽象方法),如果定義了抽象方法,標明該類定義了新的標準。

為什麼要有抽象類呢? 抽象類中如果沒有抽象方法是不是就沒有意義?如果是,為什麼沒有意義呢?
答:抽象思維是我們理工人士必須要熟練掌握並應用的思維方式,抽象類是把多個類共通的部分進一步抽象出來,以抽象類的形式表明這是規範和標準,即使其沒有抽象方法,依然標明這些成員是規範和標準,所以抽象類不能建立物件(即使沒有抽象方法),抽象類定義的成員變數和方法標明其子類必須具有這些成員變數和該方法,那麼抽象類的多個子類可以繼承這些方法,也可以重寫父類的方法。當然子類也可以新增成員變數和方法。所以 抽象類中如果沒有抽象方法是也是有意義的
————————————————
版權宣告:本文為CSDN博主「cfbs168」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處連結及本宣告。
原文連結:https://blog.csdn.net/cfbs168/article/details/105618056/

參考:Java介面、抽象類、實體類的區別與關係