kotlin-延迟初始化

Koltin中属性在声明的同时也要求要被初始化,否则会报错:
在这里插入图片描述

延迟初始化使用的是lateinit关键字,它可以告诉编译器,我会在晚些时候对这个变量进行初始化,这样就不用在一开始的时候给它赋值为null了。

在这里插入图片描述
补充:

  1. lateinit var只能用来修饰类属性,不能用来修饰局部变量,并且只能用来修饰对象,不能用来修饰基本类型 (因为基本类型的属性在类加载后的准备阶段都会被初始化为默认值)
  2. lateinit var的作用也比较简单,就是让编译期在检查时不要因为属性变量未被初始化而报错
  3. Kotlin相信当开发者显式使用lateinit var关键字的时候,他一定也会在后面某个合理的时机将该属性对象初始化的

判断它是否已经完成初始化

if(!::s.isInitialized){

}

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>