欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

kotlin 定义静态变量

程序员文章站 2022-05-28 13:27:16
...

Kotlin 取消了关键字static,也就无法直接声明静态成员, 在kotlin中定义静态变量需要使用伴生类 companion

先看看下java 的定义

kotlin 定义静态变量

 

如果直接复制粘贴过去如下

kotlin 定义静态变量  

但是这些却不是静态变量 

我们如下写法即可

    companion object  {
        @JvmStatic
        val REQUEST_CODE_PERMISSION_CHOOSE_PHOTO = 1
        @JvmStatic
        val REQUEST_CODE_PERMISSION_TAKE_PHOTO = 2
        @JvmStatic
        val REQUEST_CODE_CHOOSE_PHOTO = 1
        @JvmStatic
        val REQUEST_CODE_TAKE_PHOTO = 2
        @JvmStatic
        val REQUEST_CODE_CROP = 3
        @JvmStatic
        val REQUEST_NICK = 0x123
    }

 为什么要添加注解 

官方的语言:在 JVM 平台,如果使用 @JvmStatic 注解,你可以将伴生对象的成员生成为真正的静态方法和字段

这样在kotlin中定义静态变量,同样静态方法也可以在companion 里面.