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
}
相关推荐
用户693717500138439 分钟前
Kotlin 协程 快速入门
android·后端·kotlin
菠菠萝宝11 小时前
【AI应用探索】-10- Cursor实战:小程序&APP - 下
人工智能·小程序·kotlin·notepad++·ai编程·cursor
默契之行17 小时前
为什么要使用 .asStateFlow() 而不是直接赋值?
kotlin
会跑的兔子1 天前
Android 16 Kotlin协程 第二部分
android·windows·kotlin
精装机械师1 天前
在IntelliJ IDEA编辑器中基于Gradle编译器搭建Kotlin开发环境遇到的各种坑
kotlin·gradle·intellij-idea
用户69371750013842 天前
Kotlin 协程基础入门系列:从概念到实战
android·后端·kotlin
1024小神2 天前
Kotlin实现全屏显示效果,挖空和刘海屏适配
android·开发语言·kotlin
Kapaseker2 天前
Kotlin 跨平台开发中的权衡
android·ios·kotlin
消失的旧时光-19432 天前
Kotlin JSON 序列化库选型指南:Kotlinx.serialization vs Gson
开发语言·kotlin·json