java函數的重載,說白了就是函數塊函數名一樣,但函數類型和參數類型和參數列表個數不同
重載之和參數列表有關系,與返回值無關
java函數重載
函數重載鋪墊如下圖
函數重載鋪墊
上圖功能顯示,功能一致所以功能一致所以用的功能函數名一致,都改用add函數
當出現函數塊中函數名稱一致時,如何區分去執行代碼塊,則通過函數定義的形參個數來確定,如下圖
函數重載入門案例啟發
由上例題可以清晰的明白如果參數列表個數與定義過的函數形參列表個數不一致時,則會編譯失敗,系統會提示你沒有定義過,如下圖代碼與編譯結果
參數列表個數不一致時編譯失敗無法重載
從上面三個案例可以明確的知道重載的形象表現,即函數塊名稱一致,形參列表個數不同,對應匹配執行。如調用的形參列表與定義的函數塊形參列表不一致時則編譯失敗,重載失敗
特別注意如下圖代碼塊
這種函數名一致列表一致不叫重載
如上圖這種函數名一致列表一致不叫重載,叫啥呢?哈哈哈
叫一模一樣啦,有木有一種1+1=多少時的那種突然的困惑哈哈哈哈~~~~
一調用函數,都不值調用第一個add函數塊好還是第二個add函數塊好了,我們沒有瘋,只不過運行的虛擬機已經瘋了(為了造福廣大運行系統后期寫代碼多的時候千萬要注意下喲,至少在函數名一致時,形參列表切記不可一致)
從上意會到:
什么時候用重載函數?
當定義的函數功能塊相同,但參與運算的位置內容不同時,那么,這是就定義一個相同的函數名稱以表示功能,方便閱讀,
而通過形參列表的不同來區分不同名函數。
//打印一個所謂的99乘法表,但是有些用戶不想算到9 ,只想算到3?5?或6!那怎么辦?
//此時則再定義一個函數塊實現重載
函數重載99乘法表經典案例
以上就是一種典型的重載形式,函數名不用變,只需要變函數形參列表即可
明確了什么是重載后,我們在升華下咱們的程序猿檔次,優化重復性代碼,提高了代碼的復用性。
從上的代碼塊來分析,除了形參個數不同外,函數名和代碼塊功能幾乎是一模一樣的,對于程序猿大師來說,這真的是“無法直視”那么該如何優化呢?如下圖程序猿大師初級優化
大師的初級優化,你get到什么了
怎么樣?兩個代碼圖,你get到什么了嗎?
重復性代碼不見了,而且提升了代碼的重復性,有木有?
給定原函數,列出多個函數對比,問哪個函數重載了?如下圖:
重載案例對比加深印象
從上列咱們可以基本認識到函數重載的具體表現方式,主要區分在函數形參列表的個數,參數1和參數2,是有區分順序的,按順來區分,類型不同也算重載,但是注意一下,重載的概念和實現方式和返回值類型無關呢~~~
上面提供了編譯代碼,有興趣的朋友可以編譯運行試試哈。
每天都會更新知識點和案例分享哦
點擊關注或收藏,與我們一起從基礎開始學習java每天更新一點新知識,新案例,每天吸收一點新能量。
點擊評論區,對于細節的優化,留言,一起探討喲。