在C++中函數重載的情況下,我們知道在實際和形式參數不匹配時可能會出現歧義。所以有一個解決這個問題的機制。函數在C++ V中重載的歧義Java
For every actual parameter P, Si be the set of corresponding formal parameters that matches best. then S will be the intersection of all Si.
爲此,有4種類型的規則。
- 完全匹配
- 促進
- 標準轉換
- 用戶定義的轉換
- 省略號(由所有不考慮)
是否類似的過程中出現的Java呢?由於Java的情況下函數重載的規則是相同的,這些類型的歧義也可以在這裏發生。
參見[JLS-8.4.9。超載(http://docs.oracle.com/javase/specs/jls/se8/html/jls-8.html#jls-8.4.9),其中包括以下內容,*當被調用的方法(§15.12 )中,使用的實際參數(和任何明確的類型參數)和編譯時間類型的參數的數量,在編譯時,確定將被調用的方法的簽名(§15.12.2)。如果要調用的方法是實例方法,則將使用動態方法查找(第15.12.4節)在運行時確定要調用的實際方法。* –