大話繼承 2 抽象方法和重寫

2021-10-06 23:42:53 字數 836 閱讀 7416

此文僅供娛樂,沒有任何攻擊任何人的意思,順便對映一下繼承,私有,抽象方法和重寫.把自己理解和一些心得分享給大家,絕無惡意.

大家會發現這兩個name不一樣,乙個是我的名字,乙個是別的對手的名字,那麼應該如何正確的寫呢?

加上this就可以了,屬於我這個類的成員變數,如果是super就是我師傅馬保國的名字,這就是this和super關鍵字.暫時先不說馬保國了,我也不在是他的徒弟了,馬大哈這名字,我也就不用了.此處略去5000字…

不學武術了,回歸生活,我是乙個比較愛養寵物的小伙汁,我養了乙隻貓,兩隻狗,十幾條魚,這些動物都有個共同特點,那就是吃,但是吃的是什麼,那肯定不一樣,貓呢,吃魚,狗吃骨頭,魚呢也吃魚.那麼我們可以寫乙個父類叫做動物類.裡面有乙個方法,叫做吃,但是吃什麼我們不能夠統一,這個時候,我們可以把吃抽象一下.

public abstract void eat(

);

沒有方法體,這個作為父類的吃的方法,既然有了抽象方法,那就一定是抽象類,子類就是貓,狗,魚.他們都必須重寫父類的抽象方法,不重寫,那麼自己一定是個抽象類,因為自己繼承了抽象方法.然後我們重寫貓狗魚的抽象方法,貓吃魚,狗啃骨頭,魚吃魚.抽象方法可以有自己的構造方法,(介面沒有),(注意:子類的構造方法中預設贈送乙個父類的無參構造.),但是我們不能夠去例項化乙個抽象類,不要問why?如果問,那就是我可以去例項化乙個貓,乙個狗,甚至乙個人,我可能去例項化乙個動物嗎?動物那麼多,怎麼例項化,應該具體的例項化哪個動物?另外抽象類未必有抽象方法,有抽象方法的一定是抽象類.

今天就扯這麼多,下次有空再繼續扯,下次扯介面,扯多型。

繼承 和方法的重寫

繼承是從已有的類中派生出新類,新的類能吸收已有類的資料屬性和方法,並能擴充套件新的能力 修飾符 class 子類 extends 父類 繼承是單繼承,即乙個子類只有乙個父類 繼承關係具有傳遞性 例如類a有父類b,類b有父類c,則c也可以稱為是a的父類 不是直接父類 繼承提高了軟體的復用性 一處修改,...

虛方法 重寫方法和抽象方法

若乙個例項方法的宣告中含有 virtual 修飾符,則稱該方法為虛方法 virtual method 若其中沒有 virtual 修飾符,則稱該方法為非虛方法 non virtual method 在呼叫乙個虛方法時,該呼叫所涉及的那個例項的執行時型別 runtime type 確定要呼叫該方法的哪...

繼承 方法重寫

在子類中,可以對父類的方法進行重寫,稱為方法重寫或方法覆蓋 方法重寫必須滿足以下幾個條件 1 重寫方法和被重寫方法必須具有相同的方法名 2 重寫方法和被重寫方法必須具有相同的引數列表 3 重寫方法的返回值型別必須和被重寫方法的返回值相同 4 重寫方法不能縮小被重寫方法的訪問許可權 重寫是子類和父類之...