Я не могу понять следующую часть документации Kotlin:
The initializer, getter and setter are optional. Property type is optional
if it can be inferred from the initializer or from the base class member being overridden.
Examples:
var allByDefault: Int? // error: explicit initializer required, default
getter and setter implied
Единственное объяснение, почему компилятор требует здесь явного инициализатора (по крайней мере, единственное объяснение, которое я могу придумать) заключается в том, что у Kotlin нет значений свойств по умолчанию. Это правильно? Если да, то почему? Другими словами: в чем разница между свойствами Kotlin и полями Java (которые имеют значения по умолчанию), что не позволяет нам иметь значения свойств по умолчанию?