我有一个像下面的Kotlin代码,SingleKotlin.instance
可以被其他Kotlin文件调用
class SingleKotlin private constructor(){ companion object { val instance by lazy { SingleKotlin() } } }
但是,当我尝试SingleKotlin.instance
从java 调用时,它显示无法解析符号'instance'
我不明白为什么,任何人都可以探索,我该如何解决这个问题?
只需在字段上方添加@JvmStatic注释(如本文档中所述https://kotlinlang.org/docs/reference/java-to-kotlin-interop.html#static-fields)
所以,你的代码应该是这样的:
class SingleKotlin private constructor(){ companion object { @JvmStatic val instance by lazy { SingleKotlin() } } }
现在你可以这样称呼它
SingleKotlin.instance