javase-抽象類


javase-抽象類:

 * abstract:關鍵字,用於修飾方法和類
 * 抽象方法:不同類的方法是相似,但是具體內容又不太一樣,所以我們只能抽取他的聲明,沒有具體的方法體,沒有具體方法體的方法就是抽象方法
 * 抽象類:有抽象方法的類必須是抽象類
 *
 * 注意:一個類繼承了抽象類需要重寫他所有的抽象方法,否則這個類就得是抽象類
    抽象類的特點:
        抽象方法只能在抽象類裏面
        抽象類和抽象方法必須被abstract修飾
        抽象類不能創建對象(不能實例化)
        抽象類中可以有非抽象的方法
        抽象類和類的關係也是繼承
        一個類繼承了抽象類要麼重寫所有的抽象方法,要麼他自己是抽象類
問題:一個類沒有抽象方法,但是這個類友被abstract修飾,目的是什麼?
          就是不允許別的類來創建對象。(不能被實例化)

 * 抽象類的特點:
 *      抽象方法只能在抽象類裏面
 *      抽象類和抽象方法必須被abstract修飾
 *      抽象類不能創建對象(不能實例化)
 *      抽象類中可以有非抽象的方法
 *      抽象類和類的關係也是繼承
 *      一個類繼承了抽象類要麼重寫所有的抽象方法,要麼他自己是抽象類
注意:
            abstract 關鍵字不可以和哪些關鍵字共存:
                    1, private
                        因爲 被 abstract 修飾的方法就是爲了讓子類重寫
                        而 private 修飾的方法子類根據繼承不了,更加談不上重寫
                    2, final
                        因爲 被 abstract 修飾的方法就是爲了讓子類重寫
                        被 final 修飾的方法子類不可以重寫
                    3, static
                        因爲 被 abstract 修飾的方法就是爲了讓子類重寫
                        被 static 修飾的方法 可以通過類名.的形式來調用
                        那麼,請問一個沒有方法體的方法調用有意義嗎?
               
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章