修饰符'override'不适用于'getter'



我在代码中有这样的东西

var barCode: BarCode? = null

现在在接口中定义了getBarCode(),然后我得到一个错误,这可能是一个意外的覆盖。不幸的是,这不起作用:

var barCode: BarCode? = null
override get

我可以这样做:

private var barCode: BarCode? = null
override fun getBarCode(): BarCode? = barCode
fun setBarCode(barCode: BarCode) {
    this.barCode = barCode
}

但是对于kotlin来说,这看起来像是很多喜欢和冗长的方式-必须有一个更短的方式-尤其是当这个模式将在这个类

中重复多次时

从Kotlin 1.0开始,没有比这更简单的方法了:Java接口中的方法getBarCode()需要由Kotlin中名为getBarCode()的方法实现,而不是由名为barCode的属性实现。

请求使用属性覆盖Java方法时出现问题;您可以投票支持它以获得更新通知。

最新更新