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以防止产生一个吸气剂:

 private val x: String = "" 

或者,您可以使它成为一个简单的Java字段,而不是使用@JvmField批注的属性:

 @JvmField val x: String = ""