常量 :
- 用const关键字 必须放在类型的前面
- 声明时必须初始化,初始化值在编译时决定,值多为预定义简单类型或又预定义类型组成的表达式,可以为null引用,但不能为其他对象的引用,因为常量的值必须在编译时决定,而对象的引用在运行时决定
- 初始化之后值不能改变
- 常量没有自己的存储位置,在编译时,由编译器替换
本地常量 作用于在所属的块内
成员常量 对所有类的实例可见,即使没有类的实例,也可用类名加点常量名来使用常量
readonly字段
- 可以先声明后初始化,但必须在构造函数中初始化,若为静态的,则必须在静态构造函数中初始化
- 可以在编译时决定,也可以在运行时决定,可以是实例字段,也可以是静态字段
(实例字段,跟类的实例相关联,必须有类的实例才能使用,而静态字段可以通过类名加点直接使用
实例字段在运行时才分配内存,而静态字段在封装程序集的,即编译时候已经分配了内存
)
- 在内存中有存储位置