DAY09總結
1.類與類的關系
繼承關系,只支持單繼承
比如:class A extends B,A是子類,B是父類,子類具備父類的所有功能
- 子類不能使用父類的私有資源
- 構造方法不能繼承
- 子類如果想更改父類的功能,可以重寫(兩同兩小一大)
注意:方法名+引數串列–方法簽名
2.類與介面的關系
實作關系,既可以單實作,也可以多實作
比如:class A implements Inter1{}
比如:class A implements Inter2,Inter3{}
A是實作類,Inter1,Inter2,Inter3是被實作的介面
- 實作類去實作介面必須實作介面中的所有抽象方法,如果有任何一個沒有實作,就得宣告成抽象子類
- 創建實作類物件時,一般使用實作類物件,而不是多型物件,因為效果一樣
3.介面與介面的關系
繼承關系,既可以單繼承,也可以多繼承
比如:interface A extends Inter1{}
比如:interface A2 extends Inter2,Inter3{}
A,A2是子介面,Inter1,Inter2,Inter3是被繼承的父介面
注意介面A2的實作類需要實作介面A2繼承自Inter2和Inter3的所有抽象方法
4. 抽象類與介面的區別
- 抽象類是一個特殊的類,使用class定義,特殊在這個類中可以定義沒有方法體的方法(抽象方法)
- 介面可以理解成一個特殊的抽象類,特殊在介面中所有的方法都是抽象方法,但注意介面不是類,用interface定義
- 抽象類中有構造方法,為了給子類創建物件時呼叫
- 介面中沒有構造方法的,子類呼叫的是父類的構造方法
- 介面可以多繼承,但抽象類只能單繼承
- 抽象類可以定義普通的成員變數,但介面只能定義靜態常量
- 介面與抽象類均不可以實體化/創建物件
- 抽象是后天重構的結果,介面是先天設計的結果
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/293406.html
標籤:其他
上一篇:cgb2106-day13
