У меня есть два класса:
public class ClassA {
public void method(Number n) {
System.out.println("ClassA: " + n + " " + n.getClass());
}
}
и
public class ClassB extends ClassA {
public void method(Integer d) {
System.out.println("ClassB: " + d + " " + d.getClass());
}
}
Но когда я запускаю:
ClassA a = new ClassB();
a.method(3);
Я получаю:
ClassA: 3 class java.lang.Integer
Мой вопрос: почему не используется метод ClassB
? a
является экземпляром ClassB
, а ClassB
method()
имеет параметр Integer
...