Java兼容性的公共字段

时间:2016-12-08 12:46:03

标签: field kotlin member public

我发现最近对Kotlin作为一种语言的兴趣,因为我们开发的平台是基于Java 6的,因此缺乏近年来给Java带来的任何语法糖。

只有一件事使得Kotlin无法在开发中使用Kotlin,也就是说,我们开发的平台在内部使用了一些反射并要求成员公开。否则它将不起作用。

因此,从Kotlin文件生成的字节码实际上会生成公共getter和setter,这些字段本身仍然是私有的。

有没有办法克服这个问题,所以我得到了真正的公共领域?

我知道需要公共领域的设计失败,但系统对我们来说是一个黑盒子,我们无法改变它必须这样的事实。

1 个答案:

答案 0 :(得分:17)

注释@JvmField应该对您有所帮助。它使Kotlin编译器将该属性公开为JVM上的字段。见这里:https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.jvm/-jvm-field/