首页 文章

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

提问于
浏览
2

我在代码中有这样的东西

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的冗长 - 必须有一个更短的方式 - 特别是因为这个模式将在这个类重复多次

1 回答

  • 4

    从Kotlin 1.0开始,没有更短的方法:Java接口中的方法 getBarCode() 需要通过Kotlin中名为 getBarCode() 的方法实现,而不是由名为 barCode 的属性实现 .

    an issue请求可以使用属性覆盖Java方法;您可以投票给它以获取更新通知 .

相关问题