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 關注
- 1805 瀏覽
添加回答
舉報
0/150
提交
取消