![](https://img.51dongshi.com/20250108/wz/18402457052.jpg)
語法層面不同,設計層面不同等。語法層面不同:抽象類可以提供成員方法的實現細節,而接口中只能存在publicabstract方法;抽象類中的成員變量可以是各種類型的,而接口中的成員變量只能是publicstaticfinal類型的;接口中不能含有靜態代碼塊以及靜態方法,而抽象類可以有靜態代碼塊和靜態方法;一個類只能繼承一個抽象類,而一個類卻可以實現多個接口。設計層面不同:抽象類是對一種事物的抽象,即對類抽象,而接口是對行為的抽象。抽象類是對整個類整體進行抽象,包括屬性、行為,但是接口卻是對類局部(行為)進行抽象。繼承是一個是不是的關系,而接口實現則是有沒有的關系。如果一個類繼承了某個抽象類,則子類必定是抽象類的種類,而接口實現則是有沒有、具備不具備的關系,比如鳥是否能飛(或者是否具備飛行這個特點),能飛行則可以實現這個接口,不能飛行就不實現這個接口。