Geben Sie order mit überladenen Methoden in Java ein

Bei zwei Methoden für dieselbe Klasse in Java:

public void doSomething( Person person );
public void doSomething( Employee employee );

woher

Employee extends Person

Wenn ich anrufe:

doSomething( employee )

Ich finde, dassdoSomething( Person ) wird aufgerufen.

Ich hätte erwartet, dass die Überladung mit dem am besten passenden Vertrag aufgerufen wird, nicht mit dem abstraktesten (was ich finde).

Könnte jemand erklären warum?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage