Kotlin + MVP - 意外覆盖
问题描述:
我正在使用Kotlin & MVP,偶然发现有点烦恼。Kotlin + MVP - 意外覆盖
我收到一个“意外覆盖”错误(如下图所示)。除了在MainView界面中更改成员变量名称或getX()之外,是否还有解决此问题的方法。
从我的研究中,没有办法阻止kotlin为'x'生成吸气剂。
class MainActivity : Activity(), MainView {
val x: String // Accidental override
override fun getX(): String {
return x
}
}
interface MainView {
fun getX(): String
}
答
你可以让你的财产private
,以防止一个getter它正在生成:
private val x: String = ""
或者,你可以把它一个简单的Java领域,而不是与@JvmField
注释的属性:
@JvmField val x: String = ""
您可能想补充说,您可以使用'@ JvmName'来更改getter的名称 –