Metoda Java Overload z dziedziczonym interfejsem

Próbuję zrozumieć zachowanie Java. Korzystając z tych interfejsów:

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

Przeciążam taką metodę:

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

Podczas wywoływania metody za pomocą następującego obiektu:

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

Dlaczego java używa:

 public void method(IA a);

zamiast

public void method(IB b);

?

Dzięki

questionAnswers(3)

yourAnswerToTheQuestion