我正在使用Java代码中的Kotlin类。我的Kotlin课程看起来像:
class Something {
var a = 0
}
我希望能够从像
这样的Java代码访问a
s = new Something();
s.a = 5;
但是,我只有s.getA()
和s.setA(5)
。有没有办法让这个属性可以直接从Java设置和获取?显然,在这种情况下我们不能使用自定义getter和setter。
答案 0 :(得分:10)
您可以使用@JvmField
annotation注释属性,以将其公开为Java字段。
如果需要将Kotlin属性公开为Java中的字段,则需要使用@JvmField批注对其进行批注。该字段与底层属性具有相同的可见性。如果属性具有支持字段,非私有,没有open,override或const修饰符,并且不是委托属性,则可以使用@JvmField对属性进行批注。