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!!
使用
lateinit var
定义延迟初始化变量使用 kotlin 构造函数