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
}
相关推荐
用户69371750013844 小时前
Kotlin 函数详解:命名参数与默认参数值
android·后端·kotlin
Jeled6 小时前
RecyclerView ViewHolder 复用机制详解(含常见错乱问题与优化方案)
android·学习·面试·kotlin
柯南二号7 小时前
【大前端】【Android】 Kotlin 语法超详细解析(2025 最新)
android·kotlin
Ya-Jun19 小时前
项目实战Now in Android:项目模块说明
android·架构·kotlin
消失的旧时光-19431 天前
Kotlinx.serialization 使用指南
android·kotlin·json
消失的旧时光-19431 天前
Kotlinx.serialization 项目集成
android·kotlin·json
彭同学学习日志1 天前
解决 Android Navigation 组件导航栏配置崩溃:从错误到实现的完整指南
android·kotlin
怪兽20142 天前
fastjson在kotlin不使用kotlin-reflect库怎么使用?
android·开发语言·kotlin
ClearLiang2 天前
Kotlin-协程的挂起与恢复
开发语言·kotlin
彭同学学习日志2 天前
Kotlin Fragment 按钮跳转报错解决:Unresolved reference ‘floatingActionButton‘
android·开发语言·kotlin