属性及延迟初始化
2019-12-01 本文已影响0人
龙剑灵
kotlin属性有一些 backing field 支撑字段(域) 在某些访问器中使用
backing property 支撑属性 (某个属性为私有变量,通过另一公开属性来访问)
属性延迟初始化
通过lateinit关键字标识属性为延迟初始化,要满足3个条件:
1.lateinit只能用在类声明的var属性上,不能用在primary constructor声明的属性上
2.属性不能拥有自定义的setter与getter
3.属性类型需要非空,且不能是原生数据类型(如: 不能是 Int)