Почему значение id = 0, когда конструктор суперкласса вызывается внутри конструктора производного класса? Когда создается дочерний объект, когда память выделена в кучу объекта? После запуска конструктора базового класса или раньше?Переопределенная функция в конструкторе дочернего класса (JAVA)
class Parent{
int id = 10;
Parent(){
meth();
}
void meth(){
System.out.println("Parent :"+ id);
}
}
class Child extends Parent{
int id = 5;
Child(){
meth();
}
void meth(){
System.out.println("Child :"+ id);
}
}
public class OverRidingEg {
public static void main(String[] args) {
// TODO Auto-generated method stub
Child a= new Child();
}
}
Я не вижу никакого вызова 'super()' ... Как называется родительский конструктор? – LaGrandMere
@LaGrandMere каждый конструктор подкласса по умолчанию no-args будет иметь implicly super(), если родительский класс имеет аргументы по умолчанию no-args. – PermGenError
@PermGenError: каждый конструктор подкласса будет иметь такой неявный вызов, даже те, которые содержат аргументы. –