companion-关于kotlin中的Static

Kotlin 复制代码
companion object {
        const val PARAMETER_ID: Short = 506
        const val NULL_NAME: String = ""
        const val MAP_NAME_LENGTH: Int = 21
        const val SITE_NAME_LENGTH: Int = 21
    }

这段代码定义了一个 companion object,其作用是在 Kotlin 类中创建静态成员,即类的伴生对象。这些成员可以在不创建类实例的情况下直接通过类名访问。

companion object

  • 在 Kotlin 中,companion object 用来定义与类关联的静态成员。它类似于 Java 中的 static 成员,但 Kotlin 不支持 static 关键字,因此使用伴生对象来实现类似功能
  • 伴生对象里的成员可以通过类名直接访问,不需要创建类的实例。
Kotlin 复制代码
class ExampleClass {
    companion object {
        const val PARAMETER_ID: Short = 506
        const val NULL_NAME: String = ""
        const val MAP_NAME_LENGTH: Int = 21
        const val SITE_NAME_LENGTH: Int = 21
    }
}

fun main() {
    // 直接通过类名访问 companion object 中的常量
    println(ExampleClass.PARAMETER_ID)         // 输出: 506
    println(ExampleClass.NULL_NAME)            // 输出: ""
    println(ExampleClass.MAP_NAME_LENGTH)      // 输出: 21
    println(ExampleClass.SITE_NAME_LENGTH)     // 输出: 21
}
相关推荐
用户6578300034924 小时前
kotlin 中 return@key 用法
kotlin
来来走走9 小时前
Android开发(Kotlin) 协程
android·java·kotlin
邮专薛之谦11 小时前
Kotlin 全知识点复习+详细梳理
windows·kotlin·android studio·idea
基哥的奋斗历程15 小时前
Kotlin_Flow_完整使用指南
android·开发语言·kotlin
用户693717500138420 小时前
4.Kotlin 流程控制:强大的 when 表达式:取代 Switch
android·后端·kotlin
用户693717500138420 小时前
5.Kotlin 流程控制:循环的艺术:for 循环与区间 (Range)
android·后端·kotlin
用户69371750013841 天前
3.Kotlin 流程控制:告别 if-else 嵌套:If 表达式
android·kotlin·android jetpack
用户69371750013841 天前
2.Kotlin 函数:函数进阶:可变参数 (vararg) 与局部函数
android·kotlin·android jetpack
alexhilton3 天前
Jetpack Compose中的阴影艺术
android·kotlin·android jetpack
Tom4i3 天前
Kotlin 中的 inline 和 reified 关键字
android·开发语言·kotlin