Kotlin 中的静态初始化块
2022-08-31 11:08:46
从某种角度来看,Kotlin 中的伴随对象
s 等效于 Java 类的静态部分。特别是,它们在类首次使用之前初始化,这允许您使用它们的块作为Java静态初始值设定项的替代品:init
class C {
companion object {
init {
//here goes static initializer code
}
}
}
@voddan这并不是一个过分的,实际上这是Kotlin网站上的建议:“当相应的类被加载(解析)时,伴随对象被初始化,与Java静态初始值设定项的语义相匹配。对象表达式和声明之间的语义差异
companion object {
// Example for a static variable
internal var REQUEST_CODE: Int? = 500
// Example for a static method
fun callToCheck(value: String): String {
// your code
}
}
类中的对象声明可以使用伴随关键字进行标记。在此之下,我们可以使用像java这样的静态方法和变量。LIke classname.methodname or classname.variablename