常量和变量
val:只读变量(只读,不可变化)
var:变量
const val: 常量
常量不能在函数中使用,只能在方法外面使用,比如:
const val USERNAME: String = "里斯"
fun main() {
}
如果在类中使用的话,比如:
class Hello {
const val USERNAME: String = "里斯"
}
这种做法是不被允许的,它在源码阶段就直接报错,因为外界根本无法用类直接访问该常量,为了让外界能用类访问常量,可以改成:
object Hello {
const val USERNAME: String = "里斯"
}
访问方式:Hello.USERNAME
被 object 修饰的类相当于将该类的成员变量和成员方法都添加了java的static的关键字。
一般情况下,将类中所有的成员都static化很少见,甚至不可取,所以我们可以将类中的部分成员static化,使用kotlin的伴生 companion object 可以实现:
class Hello {