抽象類和接口的區別

抽象類和接口的區別

1、修飾不同

      a.抽象類通過abstract進行修飾,屬於半個類,不能進行實例化。

      b.接口通過Interface進行定義。

2、定義方法、變量

      a.抽象類可以在方法體中寫入一定的代碼,可以有自己的一定邏輯,就是可以有抽象方法,也可以有一般方法;變量也是一樣。

      b.接口只能定義方法的名稱,不能有方法體,{}這個也不能有;方法必須用public abstract修飾,變量必須用public static final修飾。

3、普通類可以繼承一個抽象類,但可以繼承多個接口

      原因:抽象類中有普通方法,如果繼承類多個抽象類,出現抽象類中普通方法裏的邏輯相同,這樣會造成程序的邏輯混亂,所以只能繼承一個抽象類;而接口中的全都是抽象方法,只有一個方法名字,如果繼承類多個接口,接口中有相同的方法,也不會因爲出現邏輯問題而導致程序運行失敗。

4、設計層面

      a.抽象類是對事物對抽象

      b.接口是對行爲對抽象

      例子:一個程序員繼承類“人”這個抽象類,同時實現類“編程”這個接口

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