kotlin 定义静态变量

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

先看看下java 的定义

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

  

但是这些却不是静态变量 

我们如下写法即可

 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 里面.
 

猜你喜欢

转载自blog.csdn.net/liujun3512159/article/details/128979780