java中接口和繼承的區別

實際概念區別:
區別1:
不同的修飾符修飾(interface),(extends)
區別2:
在面向對象編程中可以有多繼承!但是隻支持接口的多繼承,不支持'繼承'的多繼承哦
而繼承在java中具有單根性,子類只能繼承一個父類
區別3:
在接口中只能定義全局常量,和抽象方法
而在繼承中可以定義屬性方法,變量,常量等...
區別4:
某個接口被類實現時,在類中一定要實現接口中的抽象方法
而繼承想調用那個方法就調用那個方法,毫無壓力

 

接口是:對功能的描述      繼承是:什麼是一種什麼

始終記者:你可以有多個乾爹(接口),但只能有一個親爹( 繼承)

舉例:

  如果狗的主人只是希望狗能爬比較低的樹,但是不希望它繼承尾巴可以倒掛在樹上,像猴子那樣可以飛檐走壁,以免主人管不住它。

那麼狗的主人肯定不會要一隻猴子繼承的狗。

  設計模式更多的強調面向接口。猴子有兩個接口,一個是爬樹,一個是尾巴倒掛。我現在只需要我的狗爬樹,但是不要它尾巴倒掛,那麼我只要我的狗實現爬樹的接口就行了。同時不會帶來像繼承猴子來帶來的尾巴倒掛的副作用。這就是接口的好處。

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