对象中的非静态字段

时间:2018-07-18 09:04:52

标签: static kotlin

我有一个Kotlin对象类。我希望此类的某些字段不是静态的。在Java中,我会将static添加到所有需要静态的内容中。可以使用一个对象类来做到这一点,还是必须创建一个带有伴随对象的常规类?

类似这样的东西:

object TestObject {
    val static1: Int = 10
    val static2: Int = 20
    notstatic val notstatic1 = 13
}

1 个答案:

答案 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"
    }

}