[英]Implement Java getter interface with setter in Kotlin
我有一個java接口:
public interface TestInterface {
String getName();
}
我有一個 kotlin 課程:
class TestImpl(private var name: String = "name"): TestInterface {
override fun getName(): String = name
}
但是如果我也想要name字段的setter方法,
class TestImpl(private var name: String = "name"): TestInterface {
override fun getName(): String = name
// I don't want to write a setter like this
fun setName(n: String) {
this.name = n
}
}
我還能有什么更好的方法? 謝謝。
你可以用
class TestImpl(@get:JvmName("getName_") var name: String = "name"): TestInterface {
override fun getName(): String = name
}
然后你從 Kotlin 以x.name
/ x.name = ...
訪問它,從 Java 中以x.getName()
/ x.setName(...)
訪問它。 不幸的是,Java 中也有getName_()
,但您不必使用它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.