在平常的開發工作中,經常會用到抽象類和接口。在面試的時候,這個知識點也會被經常問到,那麼,接口和抽象類具體有什麼區別和聯繫呢?
接口:
抽象類:
看了上面兩段代碼,發現接口中方法不能有方法體,方法不能定義爲私有的,抽象類中的方法必須有方法體。接口主要用來實現,可以多實現,抽象類用來繼承,Java中是單繼承。
總結:1:接口用來實現,可以多實現;抽象類用來繼承,是單繼承。
2:接口中的方法不能有方法體,抽象類中的方法有方法體。
3:接口中只能做方法聲明,抽象類中可以做方法的聲明,也可以實現。
4:抽象類和接口都不能實例化。
5:抽象類中可以有構造方法,接口中不能有構造方法。
6:抽象類中可以沒有抽象方法,但是有抽象方法的類,一定是抽象類。
7:抽象類中可以包含非抽象的方法,接口中的方法都是抽象方法。
8:抽象類中可以包含靜態方法,接口中不能包含靜態方法。
知識就是要不斷的學習,不斷的複習,纔會記憶的更加的深刻!加油,美好的風景一直在路上!