Порядок типов с перегруженными методами в Java
Даны два метода для одного и того же класса в Java:
public void doSomething( Person person );
public void doSomething( Employee employee );
где
Employee extends Person
Если я позвоню:
doSomething( employee )
Я нахожу этоdoSomething( Person )
вызывается.
Я ожидал, что будет вызвана перегрузка с самым близким совпадающим контрактом, а не с самым абстрактным (что я и обнаружил)
Может кто-нибудь объяснить, почему?