0x01 抽象方法
- 特點
- 沒有方法體
- 抽象方法必須定義在抽象類或接口
- 不能是私有的,不能使用final,不能使用static
- 子類必須要覆蓋此方法
0x02 抽象類
抽象類必須得要有子類才行(抽象類一般都當(dāng)作父類來繼承)
- 抽象類是不能直接創(chuàng)建對象的
- 抽象類當(dāng)中可以有抽象方法,也可以有普通方法(普通方法:給子類調(diào)用的)
- 子類沒有覆蓋抽象方法,把子類也變成抽象類,然后創(chuàng)建一個子孫類,讓子孫類去覆蓋
- 抽象類的構(gòu)造方法不能定義為私有的(抽象方法必須得讓子類繼承之后,才能實現(xiàn)內(nèi)部的方法體,因為子類如果繼承的話,先去調(diào)用父類的構(gòu)造方法)
- 抽象類不能使用final來修飾
抽象類不是一個完整的類,需要作為一個父類,子類才能完成對應(yīng)的功能。
抽象類命名時,喜歡在前面添加一個Abstract單詞
- 抽象類與普通類的區(qū)別?
- 普通類有的(字段,方法,構(gòu)造器),抽象類都有
- 抽象類不能創(chuàng)建對象,抽象類可以包含抽象方法,也可以包含普通方法
- 抽象類必須有子類才有意義