周總結

weixin_44321799發表於2020-10-17

周總結

本週進行了繼承,多型,抽象類,介面,內部類以及匿名內部類的學習,以下是對本週學習知識點的總結以及面試題的彙總。

繼承

想了解繼承,首先得清楚繼承的概念,在java中繼承一般是用英文單詞“extends”來連線子類和父類。通俗來講繼承中必定有父子關係,“兒子”理所當然繼承“父親”得“財產”。所以只能是“子”繼承“父”。當然java中是比較抽象的,用哪個類做“父”,哪個類做“子”還是根據日常的思想來決定。

class Fu{
     方法體...
}

class Zi extends Fu{
     方法體...
}

如上程式碼,子類繼承父類。子類繼承父類的行為和特徵,使子類具有父類的屬性和方法,理所當然,通過子類就可以訪問父類的屬性和方法。那麼如果父類中有一個eat的方法,輸出的是吃水果,那子類卻想吃蛋糕怎麼辦呢?所以繼承中存在一個方法的重寫。

方法重寫
1.為什麼重寫:父類的功能無法滿足子類的需求。
2.方法重寫的前提: 必須要存在繼承的關係。
3.方法的重寫: 子父類出了同名,同引數類別,同返回值型別的函式,這個我們就稱作為方法的重寫。
4.方法重寫要注意的事項:

1.方法重寫時, 方法名與形參列表必須一致。
2.方法重寫時,子類的許可權修飾符必須要大於或者等於父類的許可權修飾符。
3.方法重寫時,子類的返回值型別必須要小於或者 等於父類的返回值型別。
4.方法重寫時, 子類丟擲的異常型別要小於或者等於父類丟擲的異常型別。

面試題彙總:
1.什麼是繼承?

抽取多個類的共性放到一個獨立的類中,讓這多個類和獨立的類產生關係,這種關係叫繼承。

2.重寫和過載的區別是什麼?

Overload:過載,存在本類中,方法名相同,引數類別不同,與返回值無關
Override:重寫,存在與繼承中,父子類擁有方法名相同,引數類別相同,返回值相同,但方法體不同的方法

相關文章