抽象類和接口主要區別分析

1、抽象類和接口最大區別:抽象類可以提供某些方法的部分實現,而接口不可以。
如果向抽象類加入一個新的具體方法時,那麼它所有的子類都會得到這個新方法,而接口做不到這一點,
如果向接口裏加入一個新方法,所有實現這個接口的類就無法成功通過編譯了,因爲你必須讓每一個類都再實現這個方法纔行,這顯然是接口的缺點。

2、抽象類的實現只能由這個抽象類的子類完成,任何一個實現接口所規定的方法的類都可以具有這個接口的類型,而一個類可以實現任意多個接口,從而這個類就有了多種類型。

3、接口是定義混合類型的理想工具,混合類表明一個類不僅僅具有某個主類型的行爲,而且具有其他的次要行爲。

由此得出結論,聲明類型的工作仍然由接口承擔,但是同時給出一個Java抽象類,且實現了這個接口,而其他同屬於這個抽象類型的具體類可以選擇實現這個Java接口,也可以選擇繼承這個抽象類,也就是說在層次結構中,Java 接口在最上面,然後緊跟着抽象類,這樣能讓兩者功能最大化,這個模式就是“缺省適配模式”。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章