用于Java兼容性的公共字段

最近我发现Kotlin是一种语言,因为我们开发的平台是基于Java 6的,因此近年来没有任何语法糖给Java。

只有一件事使得在开发中不可能使用Kotlin而不是Java,也就是说,我们开发的平台在内部使用了一些反思,并要求成员公开。 否则将无法正常工作。

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

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

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

注释@JvmField应该可以帮到你。 它使得Kotlin编译器将该属性公开为JVM上的一个字段。 看到这里: https : //kotlinlang.org/api/latest/jvm/stdlib/kotlin.jvm/-jvm-field/

Interesting Posts