Java вызывает метод подкласса при попытке использовать метод родительского класса
Если у меня есть два класса, А и В,
public class A {
public int test() {
return 1;
}
}
public class B extends A{
public int test() {
return 2;
}
}
Если я сделаю:A a1 = new B()
, затемa1.test()
возвращает 2 вместо 1 по желанию.
Это просто причуда Java или есть какая-то причина для такого поведения?