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