1. 程式人生 > >抽象類與接口的區別

抽象類與接口的區別

例如 like pub 繼承 區別 有一個 成員 成員方法 常量

抽象類的定義:

成員屬性:可以是變量,也可以是常量

成員方法:可以抽象,也可以非抽象(比如:構造方法是一定會有的)

接口類的定義:

成員屬性:只能是常量(public static final)

成員方法:只能是抽象(接口沒有構造方法,像太監沒有小JJ)

多態的區別:

類與類:

繼承,單一繼承(親爹只有一個)

類與接口:

實現,單一、多重實現(可以認多個幹爹)

接口與接口:

繼承,單一、多重繼承(可以認多個幹爹)

設計理念區別:

抽象類被繼承體現的是:“is a”的關系。抽象類中定義的是該繼承體系的共性功能。(例如親爹:直屬血緣關系)

接口被實現體現的是:“like a”的關系。接口中定義的是該繼承體系的擴展功能。(例如幹爹:認契、過繼關系)

抽象類與接口的區別