我有一个Kotlin对象类。我希望此类的某些字段不是静态的。在Java中,我会将static添加到所有需要静态的内容中。可以使用一个对象类来做到这一点,还是必须创建一个带有伴随对象的常规类?
类似这样的东西:
object TestObject {
val static1: Int = 10
val static2: Int = 20
notstatic val notstatic1 = 13
}
答案 0 :(得分:1)
在Kotlin中没有static
关键字。制作static
的唯一方法是使用@JvmStatic
批注:
object Foo {
@JvmStatic
val someVal: String = "foo"
}
object
是对象,而不是class
。如果要使用类属性,请使用class
并向其中添加companion object
:
class Foo {
val nonStatic: String = "foo"
companion object {
// not actual static but accessible by Foo.static
val static: String = "bar"
}
}