Answers:
根据Kotlin 文档,这是等效的:
class Hello {
companion object {
const val MAX_LEN = 20
}
}
用法:
fun main(srgs: Array<String>) {
println(Hello.MAX_LEN)
}
这也是静态的final属性(带有getter的字段):
class Hello {
companion object {
@JvmStatic val MAX_LEN = 20
}
}
最后这是静态的final字段:
class Hello {
companion object {
@JvmField val MAX_LEN = 20
}
}
const val
-编译时间常数,并确保@JvmField val
在某些情况下可以用作替代。如果值是在运行时计算出来的,或者不是原始类型或字符串,则无法通过它。参考文献:kotlinlang.org/docs/reference/...
如果您在中有实现Hello
,请companion object
在类中使用
class Hello {
companion object {
val MAX_LEN = 1 + 1
}
}
如果Hello
是纯单例对象
object Hello {
val MAX_LEN = 1 + 1
}
如果属性是编译时常量,请添加const
关键字
object Hello {
const val MAX_LEN = 20
}
如果要在Java中使用它,请添加@JvmStatic
注释
object Hello {
@JvmStatic val MAX_LEN = 20
}