Java重載函數的調用規則如下:
當調用一個函數時,編譯器會根據提供的參數類型和數量來確定重載函數的候選列表。
如果有一個函數的參數類型與提供的參數類型完全匹配,則該函數被選為最佳匹配。
如果有多個函數的參數類型與提供的參數類型完全匹配,則編譯器會選擇具有最具體參數類型的函數。
如果沒有完全匹配的函數,但有一個函數的參數類型可以通過自動類型轉換實現匹配,則該函數被選為最佳匹配。
如果存在多個函數都可以通過自動類型轉換實現匹配,則編譯器會選擇具有最具體參數類型的函數。
如果沒有匹配的函數或者存在多個最佳匹配函數,則編譯器會報錯,提示函數調用模糊。
需要注意的是,Java在選擇重載函數時不會考慮返回類型,只會根據參數類型和數量進行匹配。