You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Kotlin中声明静态属性?附对应Java代码示例

在Kotlin中声明静态属性的几种方式(对应你的Java代码)

嘿,我来帮你把这段Java的静态属性实现转换成Kotlin的写法~ 因为Kotlin里没有static关键字,不过我们有几种等效的实现方式,完全能满足你的需求:

1. 最常用:使用companion object

这是Kotlin里对应Java静态成员的标准写法,和你原来的Java类结构最匹配:

class Common {
    companion object {
        // 和Java的默认null一致,允许属性为空
        var currentModelPengguna: ModelPengguna? = null
    }
}

调用方式和Java完全一样:Common.currentModelPengguna。

如果能保证在使用这个属性前完成初始化,可以用lateinit var避免空安全的麻烦:

class Common {
    companion object {
        lateinit var currentModelPengguna: ModelPengguna
    }
}

2. 工具类场景:直接用object单例类

如果你的Common类只是用来存放静态成员,不需要被实例化,那直接把它声明为object类会更简洁:

object Common {
    var currentModelPengguna: ModelPengguna? = null
}

调用方式同样是Common.currentModelPengguna,而且这个类本身就是单例,不需要创建实例。

3. 兼容Java调用:添加@JvmStatic注解

如果你的代码还要被Java代码调用,想让这个属性在Java里看起来就是原生的static成员(避免Java里写Common.Companion.currentModelPengguna),可以给属性加上@JvmStatic注解:

class Common {
    companion object {
        @JvmStatic
        var currentModelPengguna: ModelPengguna? = null
    }
}

这样Java代码里还是可以像原来一样直接写Common.currentModelPengguna,完全无缝兼容。


内容的提问来源于stack exchange,提问作者Kang sigit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 07:58:32