class Machine : AbstractVerticle { private var config: Config? = null constructor(); constructor(config: TicketMachineConfig) { this.config = config }}我有这样一个类,逻辑上 Config 是必出传的。但是由于类是被 Vertx 创建,于是我就必须提供一个空的构造函数。于是 config 就必须先等于 null于是返回类型就变成了 Config?于是所有使用的地方就要 config!!这个太丑陋了,于是我试了:重写 get 方法。kotlin 不让重写,只让写 get(), 但是返回值定死了 Config?。失败。改成别的名字 getSafeConfig()。 和别的字段的使用不是一个画风,而且变成了两个接口,不知道人还是会用config!!
1 回答
繁花如伊
TA贡献2012条经验 获得超12个赞
使用
lateinit var
定义延迟初始化变量class Machine : AbstractVerticle { private lateinit var config: Config constructor(); constructor(config: TicketMachineConfig) { this.config = config } }
使用 kotlin 构造函数
class Machine(private val config: Config) : AbstractVerticle { }
- 1 回答
- 0 关注
- 1781 浏览
添加回答
举报
0/150
提交
取消