[面試題]抽象類與接口的區別

抽象類(abstract class)和接口(interface)有什麼異同?

抽象類:
1.抽象類中可以定義構造器
2.可以有抽象方法和具體方法
3.接口中的成員全都是 public 的
4.抽象類中可以定義成員變量
5.有抽象方法的類必須被聲明爲抽象類,而抽象類未必要有抽象方法
6.抽象類中可以包含靜態方法
7.一個類只能繼承一個抽象類
接口:
1.接口中不能定義構造器
2.方法全部都是抽象方法
3.抽象類中的成員可以是 private、默認、protected、public
4.接口中定義的成員變量實際上都是常量
5.接口中不能有靜態方法
6.一個類可以實現多個接口
相同:
1.不能夠實例化
2.可以將抽象類和接口類型作爲引用類型
3.一個類如果繼承了某個抽象類或者實現了某個接口都需要對其中的抽象方法全部進行實現,否則該類仍然需要被聲明爲抽象類

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