(1)变量
Java中的变量:
int a=2;
a=3;
Kotlin中的变量:
var a=2
a=3
(2)只读变量
Java中的只读变量:
final int b=3;
Kotlin中的只读变量:
val b=3;
(3)常量
Java中的静态常量:
static final int b=3;
Kotlin中常量:
const val b=3;
已知值的属性可以使用const修饰符标记为编译期常量(类似java中的public static final)。
const只能修饰基本类型
const只能修饰val不能修饰var,这些属性需要满足以下要求:
- 位于顶层或者是object的一个成员
- 用String或原生类型值初始化
- 没有自定义getter
(4)常量引用
val person=Person(18,"zhangsan")//堆上创建对象
person.age=19 //对象改变但引用没变
(5)编译器和运行时常量