抽象類和接口的區別
抽象類 | 接口 | |
---|---|---|
成員變量 | 是普通變量,可以是常量,可以是變量 | 只能是公共的靜態的常量 |
成員方法 | 有構造方法,可以是抽象的,也可以是非抽象的 | 只能是抽象的 |
設計理念 | 被繼承體現的是 is a的關係 抽象類中定義的是該繼承體系的共性功能 | 被實現體現的是like a的關係 接口中定義的是該繼承體系的擴展功能 |
實例化 | 不能直接實例化,如果要實例化,抽象類變量必須指向實現所有抽象方法的子類對象 | 不能直接實例化,如果要實例化,接口變量必須指向實現所有接口方法的類對象 |
關鍵字 | abstract | inferce |
實現 | 只能被單繼承 | 可以實現多個接口 |
參考:
https://blog.csdn.net/chajinglong/article/details/78855420