在Kotlin中定义变量或者属性都是需要初始化值的,并且其都是private的,但是有些时候对于变量或者属性只需要声明,但是不需要初始化,则kotlin提供了lateinit关键字来实现:
class Student {
lateinit var name: String
var address :String = "北京"
lateinit val sex :String
lateinit var age: Int
lateinit var sorce : Double
var studentNumber1 :Int
var studentNumber2 :Int = 0
}
从上图可以看出编辑器所出现的错误可以总结出在使用lateinit是需要注意的事项:
- lateinit 对应使用var来声明属性
- lateinit 修饰不可以修饰原始数据类型(byte,char,short ,int,long,float,double)