мы знаем, что ...Инициализация класса переменных в конструкторе в Java
Instance Variable инициализируются в конструкторе по умолчанию. Напр.
public class H{
int x;
public static void main(String... args){
System.out.print(new H().x);
}
}
O/P указанного кода потому что конструктор по умолчанию, который вызывается, и конструктор инициализации х 0.
Теперь мой вопрос, если мы запустите следующий код, т.е.
public class H{
int x;
public H(){}
public static void main(String... args){
System.out.print(new H().x);
}
}
фактическая O/P является в этом случае, но я думаю, что должна быть ошибка компилятора, что х не инициализируется, потому что мы имеем о verride конструктор по умолчанию и не инициализировал x.I думаю, что я сделал свой вопрос ясным.
переменные экземпляра инициализируются значениями по умолчанию в соответствии с их типами. – Adi
, но инициализация выполняется в конструкторе по умолчанию, мой вопрос во втором коде, вызов конструктора по умолчанию никогда не произойдет. – sagar
Инициализация поля происходит до вызова конструктора. –