class A{
var abc : String // throws compile time error
fun myOwnedFun(){
var abcd : String // throws compile time error while accessing it
abcd. // throws error now, suggests you to initialize it.
}
}
Это потому, что Kotlin построен как нулевой безопасный язык, что означает, что все переменные должны быть инициализированы перед его использованием, либо как nullable, к которому следует добавить суффикс ?
и присвоить null
, либо по умолчаниюконструктор для любых других классов, или используйте lateinit var
, если вы уверены, что будете назначать его где-то перед первым доступом к нему.
В Android Kotlin, lateinit var
широко используется для глобальных переменных, которые будут назначаться в методах жизненного цикла, таких как onCreate()
и т. Д.,