У меня есть следующие 2 класса
public class classA {
classA() {
System.out.println("A");
}
}
class classB extends classA {
classB() {
System.out.println("B");
}
}
а затем запустите
1
classA c = new classB();
или
2
classB c = new classB();
всегда дает
A
B
Почему это происходит? На первый взгляд, в любом сценарии я бы предположил, что будет вызываться только конструктор classB
и, следовательно, единственным выходом будет
B
но это явно неправильно.