Метод 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);
?
Спасибо