变量声明:var a = 2
只读变量:val b = 3
如果以只读变量定义为类的属性,也就是其有get()方法,而方法中每次调用可能得到的值不一定都是一样的
举例:
class X { val b: Int get() { return (Math.random() * 100).toInt() }//第次调用get方法,都会有不一样的值 }
常量
static final int b = 3;
const val b = 3
常量引用:引用不能更改,但其中属性值却可以重新赋值
编译期和运行时常量