Поздно-инициализируемые переменные и свойства

Поздно-инициализируемые переменные и свойства

Инициализация - процесс присвоения значения переменной или свойству. Если переменная имеет ненулевой тип, тогда должен быть инициализирован сразу, но иногда это неудобно, так как необходимо рассчитать корректное значение, а затем присвоить его переменной, значение которой не могут быть null.

В вышеизложенных случаях можно объявить переменную используя модификатор lateinit, что означает обещание инициализировать переменную позже. Перед использованием переменная должна быть обязательно инициализировано иначе это может привести к закрытию приложения из-за исключения kotlin.UninitializedPropertyAccessException.

Модификатор lateinit можно использовать с переменными, объявленными внутри тела класса (не в первостепенном конструкторе) с ключевым словом var и имеющими примитивный тип (числовой или String) у которых не указаны со стороны программиста getter или setter.