Digite a ordem com métodos sobrecarregados em Java

Dados dois métodos na mesma classe em Java:

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

Onde

Employee extends Person

Se eu ligar:

doSomething( employee )

eu acho quedoSomething( Person ) é invocado.

Eu esperava que a sobrecarga com o contrato de correspondência mais próxima fosse invocada, não com a mais abstrata (que é o que estou encontrando)

Alguém poderia explicar por quê?

questionAnswers(4)

yourAnswerToTheQuestion