(六)抽象類必須要有抽象方法嗎?抽象類能使用 final 修飾嗎?
發表時間:2020-10-18
發布人:葵宇科技
浏覽次數:31
微信搜索《Java魚仔》,每天一個(gè)知識點不錯過
所有内容以及曆史知識點均會更新到github上,歡迎star
(一)每天一個(gè)知識點
抽象類必須要有抽象方法嗎?抽象類能使用 final 修飾嗎?
(二)結論
抽象類不必須有抽象方法,但如(rú)果一個(gè)類包含抽象方法,則該類必須是抽象類。
抽象類不能用final修飾,因為抽象類必須被繼承,而被final修飾的類不能被繼承。
(三)再多學一點
雖然幾乎每個(gè)程序員都知道抽象類,但是實際開發中(zhōng)抽象類對大多數人來說就隻是一個(gè)概念,用到的機會很少(shǎo)。理由也很簡單,抽象類是抽取共性需求而來的,即使沒有抽象類,對業(yè)務的實現也沒有影響。但是如(rú)果合理應用抽象類,能增強代碼的重用性,更加有效地解決複雜需求。
繼續回到題目:抽象類必須要有抽象方法嗎?
當然不必須有,甚至于一個(gè)抽象類可(kě)以沒有任何一個(gè)抽象方法,這個(gè)類除了不能被實例化之外,和(hé)普通(tōng)的類幾乎沒有任何區别。
但是如(rú)果一個(gè)抽象類中(zhōng)有抽象方法,那麼他的子(zǐ)類必須要實現抽象方法。
第二個(gè)問(wèn)題:抽象類可(kě)以使用final修飾嗎?
當然不可(kě)以,通(tōng)過理解抽象類的作用我們就發現了,抽象類必須要被繼承,如(rú)果用final修飾抽象類,這個(gè)抽象類就無法被繼承,自然就無法使用了。