當前位置:首頁>職場>java校招面試要帶什么(覆蓋和重載是什么意思)
發(fā)布時間:2024-01-19閱讀(16)
解析:覆蓋和重載是比較重要的基礎知識點,并且容易混淆,所以面試中常見。答:覆蓋(Overide)是指子類對父類方法的一種重寫,只能比父類拋出更少的異常,訪問權限不能比父類的小。被覆蓋的方法不能是 private 的,否則只是在子類中重新定義了一個方法;
重載(Overload)表示同一個類中可以有多個名稱相同的方法,但這些方法的參數(shù)列表各不相同。
面試官: 那么構成重載的條件有哪些?
答:參數(shù)類型不同、參數(shù)個數(shù)不同、參數(shù)順序不同。
面試官: 函數(shù)的返回值不同可以構成重載嗎?為什么?
答:不可以,因為 Java 中調(diào)用函數(shù)并不需要強制賦值。舉例如下:如下兩個方法:
void f(){}int f(){ return 1;}
只要編譯器可以根據(jù)語境明確判斷出語義,比如在 int x = f();中,那么的確可以據(jù)此區(qū)分重載方法。不過, 有時你并不關心方法的返回值,你想要的是方法調(diào)用的其他效果 (這常被稱為 “為了副作用而調(diào)用”),這時你可能會調(diào)用方法而忽略其返回值,所以如果像下面的調(diào)用:
fun();
此時 Java 如何才能判斷調(diào)用的是哪一個 f() 呢?別人如何理解這種代碼呢?所以,根據(jù)方法返回值來區(qū)分重載方法是行不通的。
如果本文對你有幫助,別忘記給我個3連 ,點贊,轉發(fā),評論,
咱們下期見!答案獲取方式:已贊 已評 已關~
學習更多JAVA知識與技巧,關注與私信博主(03)

歡迎分享轉載→http://m.avcorse.com/read-31718.html
下一篇:紅娘是哪一部作品中的人物
Copyright ? 2024 有趣生活 All Rights Reserve吉ICP備19000289號-5 TXT地圖HTML地圖XML地圖