一. const属性简介
在 Kotlin 中,const
修饰符用于声明常量,常量的值在编译时就确定了,并且可以在编译时被嵌入到代码中
二. 使用const属性
companion object
中定义的属性和方法可以在类的实例上直接访问,就像 Java 中的静态变量和静态方法一样,而且它们只有一个实例,这个实例在第一次访问时被创建,而且它的生命周期与类本身相同。
使用如下:
1. 在顶层中使用const属性
val staticVar = MyClass.MY_STATIC_VAR
2. 在类中使用const属性
class MyClass {
companion object {
const val MY_STATIC_VAR = "Hello World"
}
}
三. Kotlin的类中不能直接使用const属性
在 Kotlin 中,const
修饰符只能用于<font color='red'>修饰顶层属性</font>或者是一个<font color='red'>拥有基本类型或者字符串类型的</font>、没有自定义 getter 方法的对象的属性。这是因为 const
属性的值在<font color='red'>编译时</font>就确定了,而非在运行时才确定,因此只有在编译时就能确定常量值的属性才能使用 const
修饰符。
而对于一个使用 class
关键字定义的类,它不是一个顶层属性,也不是一个基本类型或字符串类型的对象的属性,因此不能使用 const
修饰符。
网友评论