【发布时间】:2018-11-26 08:11:19
【问题描述】:
我有以下代码:
class Camera : AsyncActiveInputDevice<Image> {
constructor(inputListener: ((Image) -> Unit)? = null) {
this.inputListener = inputListener
}
override var inputListener: ((Image) -> Unit)?
set(value) {
field = value
TODO("call C/Python implementation")
}
}
IntelliJ IDEA 建议将构造函数转换为主构造函数。
那么如何转换呢?如何在主构造函数中使用 setter 初始化属性?我尝试了init 块,但随后显示错误:“变量无法在声明前初始化”。
【问题讨论】:
标签: kotlin constructor properties primary-constructor