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
}
相关推荐
唔666 小时前
原生 Android(Kotlin)仅串口「继承架构」完整案例二
android·开发语言·kotlin
错把套路当深情6 小时前
Kotlin 全方向开发技术栈指南
开发语言·kotlin
stevenzqzq11 小时前
Kotlin 协程:withContext 与 async 核心区别与使用场景
android·开发语言·kotlin
stevenzqzq11 小时前
Kotlin 语法深度拆解:从 Java 匿名内部类到极简 Lambda 完整演进
java·kotlin·lambda
唔6611 小时前
原生 Android(Kotlin)仅串口「侵入式架构」完整案例三
android·架构·kotlin
唔6611 小时前
原生 Android(Kotlin)仅串口「可插拔架构」完整案例一
android·架构·kotlin
Kapaseker12 小时前
Compose 响应式布局要变天—入门 FlexBox
android·kotlin
alexhilton1 天前
在Compose中用Shader实现透明的粘稠元球效果
android·kotlin·android jetpack
jinanwuhuaguo1 天前
OpenClaw 2026.4.5 深度解读
android·开发语言·人工智能·kotlin·openclaw
默 语1 天前
OpenClaw“养龙虾“热潮降温的深层解析:从技术狂欢到理性回归
android·开发语言·kotlin