相關資料:
1.https://zhidao.baidu.com/question/91157279.html
純虛類:
1.一個子類只能繼承一個抽象類(虛類)。
2.一個抽象類可以有構造方法。
3.一個抽象類中的方法不一定是抽象方法,即其中的方法可以有實現(有方法體)。
4.一個抽象類可以是public、private、protected、default,
5.一個抽象類中的方法可以是public、private、protected、default。
6.而abstract class需要繼承,要用extends。
7.而abstract class強調所屬關系。
接口:
1.一個子類能實現多個接口。
2.接口沒有構造方法。
3.接口中的方法都是抽象方法,不能有方法體,只有聲明。
4.接口只有public,default。
5.接口中的方法只能是public和default。
6.interface需要實現,要用implements。
7.interface強調特定功能的實現,
相同之處:
1.兩者都是抽象類,都不能實例化。
2.interface實現類及abstrct class的子類都必須要實現已經聲明的抽象方法。
PS:接口是一類特殊的抽象類,是更抽象的抽象類,你可能這樣理解。抽象類是一個不完整的類,接口只是定義了一些功能。