Überladungsauflösung für Nullargumente in Java
Bei der Übergabe von Null als Argument an eine überladene Methode in Java ist es wichtig zu verstehen, um welche Methode es sich handelt wird zum Aufruf ausgewählt.
Betrachten Sie das folgende Beispiel:
JOptionPane.showInputDialog(null, "Write something");
Zwei Überladene Methoden von JOptionPane.showInputDialog existieren:
Welche von Diese Überladungen werden aufgerufen, wenn null als übergeordnetes Element übergeben wird Parameter?
Antwort:
Java löst die Überladung nach dem Prinzip der „spezifischsten Methode“ auf. In diesem Fall ist die spezifischste Methode:
showInputDialog(Component parent, Object message)
Diese Regel wird aus dem Überlastungsauflösungsprozess abgeleitet, insbesondere aus dem Schritt „Bestimmen der Methodensignatur“. Der Compiler sucht nach der spezifischsten Methode, die die Eingabetypen verarbeiten kann (in diesem Fall null und String).
Die „spezifischere“ Methode wird basierend darauf bestimmt, ob der Aufruf einer Überladung an eine andere ohne übergeben werden könnte Dies führt zu einem Typfehler bei der Kompilierung. In diesem Beispiel könnte jeder Aufruf der ersten Überladung ohne Fehler an die zweite übergeben werden, aber nicht umgekehrt.
Wenn daher null an JOptionPane.showInputDialog übergeben wird, wird die Überladung mit dem übergeordneten Component-Parameter (der Die spezifischste Methode) wird für den Aufruf ausgewählt.
Das obige ist der detaillierte Inhalt vonWie löst Java überladene Methoden auf, wenn ein Nullargument übergeben wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!