7 回答

王家大少
TA貢獻17條經(jīng)驗 獲得超14個贊
說實話這個問題我已經(jīng)回答了很多遍了,回答的我都想吐了,那么我就談談接口和抽象類的區(qū)別。接口和抽象類的共同點就是它們都可以包含抽象方法,并且它們都不可以創(chuàng)建對象?不同的之處就多了。抽象類除了可以包含抽象方法外還可以實體方法,用來給子類去繼承,抽象類還可以包含靜態(tài)成員 和非靜態(tài)成員。而接口中的方法全都是非靜態(tài)的并且全都是被public abstract 修飾的,接口中的變量全都是被public static final 修飾的 ,也就是說接口中的變量全都是常量,接口中不能包含靜態(tài)方法。接口不能有構造函數(shù)而抽象類卻可以。 另外從從繼承的角度上說,類于類之間是單繼承,接口與接口之間確實多繼承,從某種角度上說,也彌補了java單繼承的不足。

rookie2maven
TA貢獻278條經(jīng)驗 獲得超76個贊
借口是一些事物的共通點,比如一些基本的方法,利于增刪查改,抽象類是對象的共有特征多態(tài)化實現(xiàn)方式, 通過繼承可以向上引用。

望遠
TA貢獻1017條經(jīng)驗 獲得超1032個贊
1、抽象類:
如果這個類里面的方法有一個是抽象的,那么這個類必須是抽象的。
抽象類中的方法,子類必須實現(xiàn)。(否則子類還是一個抽象類)
抽象類中可以有變量,可以有方法體的方法。
2、接口:
接口中方法都默認是public 的,不能有方法體。
接口中的變量都常量,都是public static final 的,必須先賦值。
如果一個類實現(xiàn)了此接口,必須覆蓋接口中的所有抽象方法。
添加回答
舉報
0/150
提交
取消