修饰符"const"不适用于"局部变量",为什么?



当我尝试像这样放置const val时:

const val DRAWABLE_RIGHT : Int = 2

在一个方法中,我得到了错误:

修饰符"const"不适用于"局部变量">

当我将这个const val移动到类的顶部时,如下所示:

class MyClass @JvmOverloads constructor(context: Context) : ConstraintLayout(context) {
const val DRAWABLE_RIGHT : Int = 2
...
}

编译器说它仍然不正确:

Const'val'只允许在顶层或对象中使用

top level是什么意思

顶级意味着您应该将变量放在类之外。

也可以把它放在一个伴侣物体里。

最新更新