java中抽象類與接口的區別

相同點:

1.都位於繼承的頂端,用於其他類來繼承與實現

2.不能實例化

3.都包含抽象方法,子類必須全部是所有抽象方法纔可以創建對象

不同點:

1.抽象類可以有構造方法,成員變量,成員方法,抽象方法,接口中只有常量和抽象方法

2.抽象類只能單繼承,接口可以多繼承接口

3.一個類只能繼承一個抽象類,但是可以實現多個接口

二者的選用:

  1. 優先選用接口,儘量少用抽象類;
  2. 需要定義子類的行爲,又要爲子類提供共性功能時才選用抽象類;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章