我在kotlin中定义了一些常量
object Keys {
const val SPLASH_DURATION : Long = 5000
const val READ_TIMEOUT : Int = 200
const val CONNECTION_TIMEOUT : Int = 200
const val WRITE_TIMEOUT : Int = 200
var BASE_URL = BuildConfig.SERVER_KEY
}
- 如果我尝试访问 Java 类中的 BASE_URL 作为
Keys.BASE_URL
。我得到 错误,它有私有(private)访问权限。 - 如何解决这个问题。我是否需要以不同方式声明常量 在 Kotlin 。
最佳答案
您可以使用 Companion Objects
- 类中的对象声明可以用
companion
关键字标记:
试试这个
class Keys {
companion object {
const val SPLASH_DURATION : Long = 5000
const val READ_TIMEOUT : Int = 200
const val CONNECTION_TIMEOUT : Int = 200
const val WRITE_TIMEOUT : Int = 200
}
}
现在你可以像这样访问你的const
变量
Keys.CONNECTION_TIMEOUT;
Second Way
object Keys {
const val SPLASH_DURATION: Long = 5000
const val READ_TIMEOUT: Int = 200
const val CONNECTION_TIMEOUT: Int = 200
const val WRITE_TIMEOUT: Int = 200
}
现在你可以像这样访问你的const
变量
Keys.SPLASH_DURATION;
关于android - 在 java 类中访问 Kotlin 中定义的常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53828442/