Инициализация - процесс присвоения значения переменной или свойству. Если переменная имеет ненулевой тип, тогда должен быть инициализирован сразу, но иногда это неудобно, так как необходимо рассчитать корректное значение, а затем присвоить его переменной, значение которой не могут быть null.
В вышеизложенных случаях можно объявить переменную используя модификатор lateinit, что означает обещание инициализировать переменную позже. Перед использованием переменная должна быть обязательно инициализировано иначе это может привести к закрытию приложения из-за исключения kotlin.UninitializedPropertyAccessException.
Модификатор lateinit можно использовать с переменными, объявленными внутри тела класса (не в первостепенном конструкторе) с ключевым словом var и имеющими примитивный тип (числовой или String) у которых не указаны со стороны программиста getter или setter.
Реклама