public class Any {
public static void main(String[] args) {
A ab = new **B**();
System.out.println(ab.calc(2.0, 3.1));
}
}
class A {
public int calc(int a, int b) {
return a+b;
}
}
class B extends A {
public double calc(double a, double b) {
return a+b;
}
}
Может кто-нибудь, пожалуйста, помогите мне понять, почему строка 4 выдает ошибку: «Метод cal c (int, int) в типе A не применим для аргументов (double, double)»
Я понимаю, что методы связаны во время выполнения; какой метод выполнить, зависит от типа объекта, для которого он вызван. Метод cal c вызывает в классе B . Почему компилятор ищет метод в классе A.
Большое спасибо.