聯(lián)系:
(推薦教程:java入門(mén)教程)
1、都可以擁有抽象方法
2、都不可以直接創(chuàng)建對(duì)象
3、都依靠于子類(lèi)存在才有意義,子類(lèi)必須實(shí)現(xiàn)其所有的抽象方法
4、都可以實(shí)現(xiàn)多態(tài)
區(qū)別:
成員不同:
接口中沒(méi)有構(gòu)造方法,抽象類(lèi)有構(gòu)造方法但是不能直接創(chuàng)建對(duì)象。
接口中成員方法默認(rèn)添加 public abstract 修飾,只能存在抽象方法。抽象類(lèi)中既有抽象方法也有普通方法。
接口中的成員變量默認(rèn)添加static final 修飾,只有公開(kāi)靜態(tài)常量。抽象類(lèi)中的變量沒(méi)有這個(gè)限制。
(視頻教程推薦:java視頻教程)
關(guān)系不同:
類(lèi)與類(lèi)之間的關(guān)系是繼承:extends。
接口與接口之間的關(guān)系是繼承:extends。
類(lèi)與接口之間的關(guān)系是實(shí)現(xiàn):implements。子類(lèi)稱為子實(shí)現(xiàn)類(lèi)。