重寫的知識點及與過載的區分

2021-10-08 11:36:26 字數 888 閱讀 7083

3.經典面試題

需要有繼承關係,子類重寫父類的方法!

方法名必須相同

引數列表必須相同

修飾符:範圍可以擴大: public>protected>default>private

丟擲的異常:範圍,可以被縮小,但不能擴大:classnotfoundexception(小)–>exception(大)

重寫:子類的方法和父類的必須一致,但方法體不同

父類的功能子類不一定需要或者不一定滿足

alt+insert 選擇overried

static方法:是靜態方法,屬於類不,屬於例項

final 常量:終結類 可以繼承可以過載,不可以重寫(就是可以直接用,不可以改方法的方法體)

private 方法:私有的

過載指在同乙個類中定義多個同名的方法,但要求每個方法具有不同的引數型別或引數個數。

過載體現的是編譯多型性

重寫體現的是執行多型性

過載:

重寫:前提:重寫(覆蓋)必須發生在子父類之間,且只能是子類對父類的方法進行重寫

1.過載(overload)和重寫(override)的區別。過載的方法能否根據返回型別進行區分?

答:方法的過載和重寫都是實現多型的方式,區別在於前者實現的是編譯時的多型性,而後者實現的是執行時的多型性。過載發生在乙個類中,同名的方法如果有不同的引數列表(引數型別不同、引數個數不同或者二者都不同)則視為過載;重寫發生在子類與父類之間,重寫要求子類被重寫方法與父類被重寫方法有相同的引數列表,有相容的返回型別,比父類被重寫方法更好訪問,不能比父類被重寫方法宣告更多的異常(黎克特制代換原則)。過載對返回型別沒有特殊的要求,不能根據返回型別進行區分。

區分前端容易混淆的知識點

1 偽類與偽元素的區別 在css1與css2中沒有特別區分,但是在css3中有區分 偽類 其實就是選擇器,有兩個重要的作用如下 1 選擇dom樹以外的資訊 例如 visited,link等指的是某些指定狀態的元素 2 用簡單選擇器選擇不了的資訊 有邏輯的dom樹中的元素 例如 first child...

過載和重寫及重寫的實現

1.過載 overloading method 在乙個類裡面,方法名字相同,而引數不同。返回型別,可以相同也可以不同。過載是讓類以統一的方式處理不同型別資料的一種手段。函式過載主要是為了解決兩個問題。1.可變引數型別。2.可變引數個數。基本的設計原則 僅僅當兩個函式除了引數型別和引數個數不同以外,其...

重寫與過載的區別

1 過載 1 是指方法名一樣,引數不同的幾個方法,它們的功能相近 2 呼叫的時候是根據呼叫 引數的型別 來識別方法。2 重寫 也是方法的覆蓋 1 是子類中修改父類中方法的方法 2 在子型別中定義,與父型別中的方法名和引數都一樣的方法 3 在呼叫是,是根據 物件的型別 來呼叫相應的方法。舉個例子 pu...