javase-抽象類
javase-抽象類:
* abstract:關鍵字,用於修飾方法和類
* 抽象方法:不同類的方法是相似,但是具體內容又不太一樣,所以我們只能抽取他的聲明,沒有具體的方法體,沒有具體方法體的方法就是抽象方法
* 抽象類:有抽象方法的類必須是抽象類
*
* 注意:一個類繼承了抽象類需要重寫他所有的抽象方法,否則這個類就得是抽象類
抽象類的特點:
抽象方法只能在抽象類裏面
抽象類和抽象方法必須被abstract修飾
抽象類不能創建對象(不能實例化)
抽象類中可以有非抽象的方法
抽象類和類的關係也是繼承
一個類繼承了抽象類要麼重寫所有的抽象方法,要麼他自己是抽象類
問題:一個類沒有抽象方法,但是這個類友被abstract修飾,目的是什麼?
就是不允許別的類來創建對象。(不能被實例化)
* 抽象類的特點:
* 抽象方法只能在抽象類裏面
* 抽象類和抽象方法必須被abstract修飾
* 抽象類不能創建對象(不能實例化)
* 抽象類中可以有非抽象的方法
* 抽象類和類的關係也是繼承
* 一個類繼承了抽象類要麼重寫所有的抽象方法,要麼他自己是抽象類
注意:
abstract 關鍵字不可以和哪些關鍵字共存:
1, private
因爲 被 abstract 修飾的方法就是爲了讓子類重寫
而 private 修飾的方法子類根據繼承不了,更加談不上重寫
2, final
因爲 被 abstract 修飾的方法就是爲了讓子類重寫
被 final 修飾的方法子類不可以重寫
3, static
因爲 被 abstract 修飾的方法就是爲了讓子類重寫
被 static 修飾的方法 可以通過類名.的形式來調用
那麼,請問一個沒有方法體的方法調用有意義嗎?
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.