相同點:
1.都位於繼承的頂端,用於其他類來繼承與實現
2.不能實例化
3.都包含抽象方法,子類必須全部是所有抽象方法纔可以創建對象
不同點:
1.抽象類可以有構造方法,成員變量,成員方法,抽象方法,接口中只有常量和抽象方法
2.抽象類只能單繼承,接口可以多繼承接口
3.一個類只能繼承一個抽象類,但是可以實現多個接口
二者的選用:
- 優先選用接口,儘量少用抽象類;
- 需要定義子類的行爲,又要爲子類提供共性功能時才選用抽象類;
相同點:
1.都位於繼承的頂端,用於其他類來繼承與實現
2.不能實例化
3.都包含抽象方法,子類必須全部是所有抽象方法纔可以創建對象
不同點:
1.抽象類可以有構造方法,成員變量,成員方法,抽象方法,接口中只有常量和抽象方法
2.抽象類只能單繼承,接口可以多繼承接口
3.一個類只能繼承一個抽象類,但是可以實現多個接口
二者的選用:
JAVA中面向對象將事物抽象成對象,有以下四中基本特徵:抽象、繼承、封裝、多態。 1、抽象 抽象是將對象的共同特徵提取出來構造類的過程,包括特徵抽象和行爲抽象兩方面。抽象只關注對象有哪些特徵