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ê?