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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值