我有一个Kotlin类,它有一个类对象,例如
public class Foo {
public class object {
public val SomeValue : Int = 0
}
}
如果我在Java中使用此类,如何在类对象中访问SomeValue?如果它是一个带有静态属性的Java类,我只使用Foo.SomeValue - 但我不能在这里做。
IntellIJ显示我可以访问Foo.object.$instance
,但$instance
没有getSomeValue或类似的东西。如果我尝试使用$ instance.SomeValue,当我构建错误消息时说:
SomeValue在Foo.object中具有私人访问权限
我正在使用Kotlin 0.5.1。
答案 0 :(得分:9)
作为一种解决方法,您应该可以使用@JvmField
使Kotlin字段可见:
@JvmField var addressLocationBox: ToOne? = null
答案 1 :(得分:5)
" absense" getSomeValue()是IDE中的一个错误。如果你使用它,它编译好。 我创建了一个问题:http://youtrack.jetbrains.com/issue/KT-3337
答案 2 :(得分:2)
data class YourClass(@JvmField val name: String)