1、抽象類裡面可以用普通方法,而接口中的方法全部都是抽象的;
2、抽象類中可以有非 public static final修飾的屬性,接口中的屬性都是public static final修飾的
3、抽象類有構造方法,接口沒有構造方法
4、抽象類中可以有靜態方法,接口中不能有靜態方法
5、類與抽象類的關系是繼承,而且是單繼承。類與接口的關系是實現,而且是多實現。
6、抽象類由abstract class聲明,接口由interface聲明
7、子類與它繼承的抽象類的關系是 B is A,實現類與它所實現的接口的關系是 B like A
8、在應用范圍上來說,接口往往在程序設計的時候,用來定義程序模塊的功能,方便各模塊協同工作;抽象類是對相似類進行抽象,形成一個抽象的父類可供重用!
以上是問題的答案,哪位可以解釋一下,每一條答案背後的含義,設計者為什麼要這麼做?
抽象類的話和接口大多是需要一個實現類來實現的吧,抽象類的話,一個實現類只能extends一個抽象類,然而一個實現類可以implement多個接口,便於開發時降低模塊之間的耦合性,例如:我要寫一個商家發布廣告的實現類,這樣就可以implement用戶信息的接口和廣告信息的接口在一個類中實現,而單獨繼承一個用戶抽象類和廣告抽象類的話都是是不能完成這個功能的。個人理解。。。僅供參考。。。