Abstract能不能與Static、Final以及Private共存,以及爲什麼要用Abstract

        Abstract是抽象類的標識,抽象類是爲了方便繼承,實現多態,所以從感性的角度來講,那是絕對不能與static、final以及private共存的,因爲抽象類本來就是爲了方便繼承實現子類研發的,我們使用了private、final以及static就沒有任何意義了,但是計算機不是感性的,需要理性思考,那麼我們就直接上手代碼看一看

        

        首先我先定義了一個抽象類,並在裏面定義了一個私有方法以及一個公有方法,我們可以看到,報錯了,也就是抽象類中是不可以定義私有方法的,那麼我們再試試能否和Static共存

        

        可以看到static與abstract共存的,那麼就剩下最後一個了,final

        

        果然理性也是這麼想的或者說是這麼幹的,那麼這個話題就過去了,接下來就得考慮了,既然抽象類不能實例化,而且只要抽象了就不能與final、static以及private共存,可以說抽象類可以乾的事,普通類就可以幹,抽象類不可以乾的事,普通類也可以幹,那麼我們爲什麼還要用抽象類呢

        首先我們可以看得出來,抽象類是不可以實例化的,這個既是它的缺點又是它的優勢,因爲有時候我們只希望在用到子類的時候去實例化它的子類,並不希望去實例化它本身,那麼這個時候就可以想到使用抽象類,比如

        我們有一個MC遊戲稿子模板類,其子類包括了不同材質的超過十種以上,那麼這時候我們並不希望去實例化這個模板類,因爲對遊戲沒有什麼用處,反而需要多個子類去實例化,那麼這時我們就需要編寫一個抽象類,防止實例化,並且可以告訴其他開發人員,這個抽象類必定實現,需要去找它的子類,那麼就會省去一些不必要的麻煩

        這個測試可能比較簡單,等我之後技術成熟,我會繼續研究,

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章