Метод Java Overload с унаследованным интерфейсом

Я пытаюсь понять поведение Java. Используя эти интерфейсы:

public interface IA {}
public interface IB extends IA {}
public class myClass implements IB {}

Я перегружаю такой метод:

public void method(IA a);
public void method(IB b);

При вызове метода со следующим объектом:

IA a = new myClass();
method(a);

Почему Java использует:

 public void method(IA a);

вместо

public void method(IB b);

?

Спасибо

Ответы на вопрос(2)

Ваш ответ на вопрос