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
}
相关推荐
熊猫钓鱼>_>5 小时前
Kotlin Multiplatform for OpenHarmony 实战:为 Reaktive 实现响应式原语适配(完整版 · 含摘要目录与技术图表)
华为·kotlin·大模型·ai编程·harmonyos·适配·reaktive
李游Leo11 小时前
HarmonyOS 7 InsightBoard 多形态适配实录 06:ArkUI × 多设备回归:布局抖动、监听释放与全形态验收【鸿蒙心迹】
回归·kotlin·harmonyos
点燃大海11 小时前
手机给平板当键盘?
kotlin
李游Leo12 小时前
HarmonyOS 7 QuickDock 闪控窗开发实录 06:floatView × 回归验收:25轮场景回归、资源基线与发布前收口【鸿蒙心迹】
回归·kotlin·harmonyos
李游Leo12 小时前
HarmonyOS 7 DualCart 平行视界适配实录 06:Navigation × 多窗口回归:路由冲突、恢复一致性与性能验收【鸿蒙心迹】
回归·kotlin·harmonyos
ZealSinger1 天前
Boot4挂起函数丢traceId怎么修
spring boot·kotlin·协程·可观测性
维克兜率天1 天前
【维克】配对交易的季节性:哪些品种适合长拿?
android·开发语言·笔记·python·算法·kotlin·量化
墨天梦1 天前
B06_XML控件布局与ViewBinding
android·kotlin
释厄6231 天前
BSD 简单真理循环论——简单真理 × 复杂循环=大一统
android·开发语言·kotlin
Android打工仔2 天前
Kotlin 协程源码解析:DispatchedContinuation 里的 Dispatcher 从哪里来?
android·kotlin