Escribe orden con métodos sobrecargados en Java
Dados dos métodos en la misma clase en Java:
public void doSomething( Person person );
public void doSomething( Employee employee );
dónde
Employee extends Person
Si llamo:
doSomething( employee )
encontré esodoSomething( Person )
se invoca.
Habría esperado que se invocara la sobrecarga con el contrato más cercano, no con el más abstracto (que es lo que estoy encontrando)
¿Podría alguien explicar por qué?