Мне дали ссылку на официальную документацию оракула: https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html
где сказано:
Значения по умолчанию
Не всегда необходимо присваивать значение, когда поле объявлено. Поля, которые объявлены, но не инициализированы, будут установить разумное значение по умолчанию компилятором. Вообще говоря, по умолчанию это будет ноль или ноль, в зависимости от типа данных. Полагаясь на таких значениях по умолчанию, однако, как правило, считается плохим стиль программирования.
Я хочу подчеркнуть эту часть:
Однако использование таких значений по умолчанию считается плохим стилем программирования.
Но, о боже, это, я бы сказал, фундаментальная часть спецификации языка, зная, что переменные экземпляра имеют значения по умолчанию. С какой стати это плохая практика программирования, если она широко используется даже в исходном коде библиотек Java SE?