接口和抽象類的區別:
(1)抽象類可以有構造方法,接口中不能有構造方法。
(2)抽象類中可以有普通成員變量,接口中沒有普通成員變量
(3)抽象類中可以包含靜態方法,接口中不能包含靜態方法
(4) 一個類可以實現多個接口,但只能繼承一個抽象類。
(5)接口可以被多重實現,抽象類只能被單一繼承
(6)如果抽象類實現接口,則可以把接口中方法映射到抽象類中作為抽象方法而不必實現,而在抽象類的子類中實現接口中方法
接口和抽象類的相同點:
(1) 都可以被繼承
(2) 都不能被實例化
(3) 都可以包含方法聲明
(4) 派生類必須實現未實現的方法