面試題 1.抽象類和接口有什麼區別

1.抽象類和接口有什麼區別?
答:抽象類和接口很相似,有時候甚至可以互換,但是也有很大的區別。
1.接口是公開的,不能有私有,抽象類可以有私有。
2.如果一個類中有抽象方法,那麼他必須是抽象類。
3.接口中的所有方法都沒有方法體。
4.抽象類可以聲明方法的存在而不去實現它
5.抽象類的子類實現方法必須有相同或者更高級別的訪問級別
6.抽象類不能被實例化,可以創建一個對象指向其具體子類的一個實例
7.抽象類的子類實現父類所有的抽象方法,否則他們也是抽象類
相同點:
1.都不能被實例化
2.接口的實現類或者抽象類的子類只有實現了他們各自的方法後才能被實例化
不同點
1.接口只能定義方法,不能實現,抽象類可以
2.關鍵字不同,抽象類是extend繼承,接口是implements實現
3.一個類可以實現多個接口,不能繼承多個抽象類
4.接口中的成員變量默認public static final,必須給初值,所有成員方法都是public abstract
抽象類中的成員變量默認是default,也可以是其他的三個,抽象方法必須是抽象方法,前面加abstract
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
2.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章