kotlin学习笔记——类成员初始化

类成员初始化

练习一:

订单类Order
class Order (var orderId:String){

}
用户类User
open class User(username: String, age: Int) {
    //lateinit代表延迟初始化
    lateinit var userId: String

    //lateinit不能修饰基本数据类型,只能修饰对象
    //lateinit var gender:Boolean

    //由于order是val(相当于final)类型,因此需要用lazy(延迟初始化方式)
    val order: Order by lazy {
        //延迟初始化Order对象
        Order("123456")
    }

    var username: String = username
        //将set方法更改为受保护的
        protected set
        //重写get方法
        get() {
            println("获取:$field")
            return field
        }

    var age: Int = age
        //私有的set方法
        private set
        //重写get方法
        get() {
            println("获取:$field")
            return field
        }
}
测试类
fun main() {
    val user = User("崔兴旺",28)
    println(user.username)
    println(user.age)
    println(user.order.orderId)
}
打印输出
获取:崔兴旺
崔兴旺
获取:28
28
123456
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容