如何在Kotlin中创建没有访问者的属性?

时间:2016-03-17 07:53:05

标签: java kotlin accessor

我正在使用Java代码中的Kotlin类。我的Kotlin课程看起来像:

class Something {
    var a = 0
}

我希望能够从像

这样的Java代码访问a
s = new Something();
s.a = 5;

但是,我只有s.getA()s.setA(5)。有没有办法让这个属性可以直接从Java设置和获取?显然,在这种情况下我们不能使用自定义getter和setter。

1 个答案:

答案 0 :(得分:10)

您可以使用@JvmField annotation注释属性,以将其公开为Java字段。

  

如果需要将Kotlin属性公开为Java中的字段,则需要使用@JvmField批注对其进行批注。该字段与底层属性具有相同的可见性。如果属性具有支持字段,非私有,没有open,override或const修饰符,并且不是委托属性,则可以使用@JvmField对属性进行批注。