我认为你正在将val
放在一个普通类中,就像这样:
class X {
val PREF_NAME = "onb"
}
通过这样做,你为该类的每个实例提供了单独的属性——尽管它们都具有相同的值,但这与在Java术语中拥有单个静态常量并不完全相同。
因此,这些属性可以位于顶层(未嵌套在文件中的任何其他内容中):使用const标记的属性,或者没有自定义get函数的顶级或对象val属性
val PREF_NAME = "onb"
或者在一个对象
内部:
object X {
val PREF_NAME = "onb"
}
或者在伴生对象中:
class X {
companion object {
val PREF_NAME = "onb"
}
}
如果在编译时是常量,您也可以在这些地方使用 const
修饰符来标记属性。
class A {
val justAProperty = ""
}
val TOP_LEVEL_VAL_PROPERTY = ""
object B {
val OBJECT_VAL_PROPERTY = ""
}