kotlin 定义静态变量

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

先看看下java 的定义

kotlin 定义静态变量_第1张图片

 

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

kotlin 定义静态变量_第2张图片  

但是这些却不是静态变量 

我们如下写法即可

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

你可能感兴趣的:(Kotlin,Kotlin知识总结)