Android中的lateinit关键字用于延迟初始化变量,在使用时才进行赋值操作。与普通成员变量初始化的区别在于,普通成员变量在声明时就需要进行初始化赋值,而lateinit修饰的变量可以先声明而不赋值,在需要使用时再进行赋值操作。
lateinit修饰的变量必须是非空类型且不能使用基本数据类型,否则会报错。普通成员变量可以使用任何类型进行初始化赋值。
另外,lateinit修饰的变量必须在声明时初始化为null,否则会报错。普通成员变量在声明时可以直接初始化赋值,不需要为null。