Java 中空參數的重載解析
當將null 作為參數傳遞給Java 中的重載方法時,了解哪個方法至關重要將被選擇進行呼叫。
考慮以下內容例如:
JOptionPane.showInputDialog(null, "Write something");
JOptionPane.showInputDialog 存在兩個重載方法:
Java 解決重載是基於「最具體方法」的原則。在這種情況下,最具體的方法是:
此規則源自重載解析過程,特別是稱為「確定方法簽章」的步驟。編譯器搜尋可以處理輸入類型(在本例中為 null 和 String)的最具體方法。showInputDialog(Component parent, Object message)
「更具體」的方法是根據一個重載的呼叫是否可以傳遞給另一個重載的呼叫而確定的導致編譯時類型錯誤。在此範例中,對第一個重載的任何呼叫都可以傳遞到第二個重載而不會出現錯誤,但反之亦然。
因此,當將 null 傳遞給 JOptionPane.showInputDialog 時,帶有 Component 父參數(最具體的方法)將被選擇進行呼叫。
以上是當傳遞空參數時,Java 如何解決重載方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!