抽象與接口的區別

1、抽象類裏面可以有非抽象方法
但接口裏只能有抽象方法 
聲明方法的存在而不去實現它的類被叫做抽像類(abstract class),它用於要創建一個體現某些基本行爲的類,併爲該類聲明方法,但不能在該類中實現該類的情況。不能創建abstract 類的實例。然而可以創建一個變量,其類型是一個抽像類,並讓它指向具體子類的一個實例。不能有抽像構造函數或抽像靜態方法。Abstract 類的子類爲它們父類中的所有抽像方法提供實現,否則它們也是抽像類爲。取而代之,在子類中實現該方法。知道其行爲的其它類可以在類中實現這些方法。

2、接口(interface)是抽像類的變體。在接口中,所有方法都是抽像的。多繼承性可通過實現這樣的接口而獲得。接口中的所有方法都是抽像的,沒有一個有程序體。接口只可以定義static final成員變量。接口的實現與子類相似,除了該實現類不能從接口定義中繼承行爲。當類實現特殊接口時,它定義(即將程序體給予)所有這種接口的方法。然後,它可以在實現了該接口的類的任何對像上調用接口的方法。由於有抽像類,它允許使用接口名作爲引用變量的類型。通常的動態聯編將生效。引用可以轉換到接口類型或從接口類型轉換,instanceof 運算符可以用來決定某對象的類是否實現了接口
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章