2013-05-21 65 views
3

我瞭解抽象類可能包含抽象和具體方法(即與主體實現)。我的問題是:子類可以從抽象超類繼承/覆蓋具體方法。其次,他們是否必須像繼承抽象方法一樣繼承具體方法?抽象類中的具體方法

+2

如果這些具體的方法沒有標記爲「final」,那麼是的,它們可以被覆蓋。 –

+1

爲什麼downvotes? – Tips48

回答

7

可以子類都繼承/從抽象 超

覆蓋具體方法,如果它們不final,是的,他們可以被覆蓋。

其次他們是否必須繼承具體方法 他們繼承抽象方法?

不,他們只需要繼承抽象的,否則抽象方法就沒有意義了。

2

子類可以從抽象超類繼承/重寫具體方法嗎?

子類將繼承所有被標記publicprotected的方法中,如果子類是在不同的包比父類。如果子類在同一個包中,則繼承的所有方法,但private方法除外。

子類必須覆蓋/實現抽象方法,如果未標記爲final,可以覆蓋/實現具體方法。

他們是否必須像繼承抽象方法一樣繼承具體方法?

號他們不必實施的具體方法。但是,他們可以用覆蓋的具體方法,除非他們沒有標記爲final

4

具體方法的意思是,方法有完整的定義。但是它可以在繼承類中被覆蓋,如果我們使這個方法成爲「final」,那麼它不能被覆蓋。聲明方法或類「final」意味着它的實現已經完成。忽視抽象方法是強制性的。