= null 赋空值 ; ③ 非空变量 ( 引用类型 ) 使用 lateinit 修饰 ; ④ 抽象属性变量不初始化 ;
2 . !! 与 ? 修饰符 : 仅对于 可空类型 有效 , ?...特殊情况 : 如果是非空对象是抽象类中的抽象属性 , 那么可以不进行初始化 , 但在其实现中 , 也是必须进行初始化或者延迟初始化的 ;
III . 非空变量不能赋空
----
1 ....其它类中判定 : 如果要在其它类中判定本类某个属性是否已经初始化 , 需要定义一个 public 方法 , 提供判定接口 , 如下代码示例 :
5 ....变量不用初始化的特殊情况 : 抽象类 的 抽象属性 , 可以不进行初始化 , 但此时也不能使用 ; 该属性实现的时候 , 重写的属性必须进行初始化操作 , 与普通变量要求一样 ;
abstract class...Variable(){
//抽象类的抽象属性可以不用初始化
abstract var age : Int
}
//抽象类的实现类必须进行初始化
class Student() : Variable