抽象方法,抽象類

<small>

方法重寫:
    因為父類的方法滿足不了子類需求時,
    要求子類對該方法進行重寫,從而實現(xiàn)
    子類自己的業(yè)務功能。

    在一定程度上,父類方法是沒有業(yè)務代碼的,
    則該方法徒有虛名,沒有方法體實現(xiàn)代碼。
    此時,可以將該方法體省略。

正課:
1、抽象
1)、抽象方法
a、為什么有抽象方法?
因為父類的方法滿足不了子類需求時,
要求子類對該方法進行重寫,從而實現(xiàn)
子類自己的業(yè)務功能。

在一定程度上,父類方法是沒有業(yè)務代碼的,
則該方法徒有虛名,沒有方法體實現(xiàn)代碼。
此時,可以將該方法體省略,定義成抽象方法。

b、抽象方法定義
普通方法:五要素
修飾符 返回值類型 方法名 (參數(shù)列表){方法體}

抽象方法:
修飾符 abstract 返回值類型 方法名 (參數(shù)列表);
特點:
①、修飾符中有abstract關鍵字,表示抽象。
②、沒有方法體,連{}都沒有。

c、抽象方法的意義
提供統(tǒng)一的入口,有效的實現(xiàn)代碼功能擴展。
d、抽象方法的使用
抽象方法只有方法名,沒有方法體,無實質(zhì)上的業(yè)務實現(xiàn)。
需要實體類,繼承抽象類,對抽象方法實現(xiàn)重寫,
從而實現(xiàn)方法的真實功能代碼,滿足業(yè)務需求。
實體類實現(xiàn)抽象類,重寫抽象方法,
調(diào)用的是重寫之后的方法。

2)、抽象類
a、抽象類定義
抽象類是特殊的特殊類。
含有抽象方法的類,必定是抽象類。
抽象類不一定含有抽象方法。
普通實體類:
[public] class 類名{ 類體 }

抽象類:
[public] abstract class 類名{ 類體 }

b、抽象類意義
抽象類含有構(gòu)造方法,但不可以實例化(創(chuàng)建對象)。
在一定程度上,實現(xiàn)了代碼的保護。
含有抽象方法的抽象類,可以通過繼承來實現(xiàn)。
不含有抽象方法的抽象類,本質(zhì)上就是對代碼保護。

c、抽象類使用
抽象類不可以實例化,但可以通過繼承關系來實現(xiàn)“實例化”。

    //抽象類Animal無法實例化
    Animal animal = new Animal();

    //向上造型
    Animal = animal = new Dog();

①、實體類繼承抽象類:
必須重寫抽象方法。
②、抽象類繼承抽象類:
可以暫時不重寫抽象方法,
直到實體類繼承抽象類為止。

3)、抽象方法、抽象類總結(jié)
a、父類中的某些方法,滿足不了子類的需求,
只有方法名,沒有方法體代碼,則可以被
定義成抽象方法。
b、抽象類是特殊的類:
含有抽象方法的類,必定是抽象類。
抽象類可以不含有抽象方法。
c、抽象類含有構(gòu)造方法,但不能實例化。
可以通過向上造型方式完成“實例化”。
d、實體類繼承抽象類,必須重寫抽象方法,
抽象類繼承抽象類,可以暫時不重寫抽象方法。

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容