鼎鼎知识库
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

13.readonly和const.md 1.7KB

1234567891011121314151617181920212223242526272829303132333435
  1. >readonl(运行时常量)与const(编译时常量)
  2. - readonly为**运行时常量**,程序运行时进行赋值,赋值完成后便无法更改,可称其为只读变量。
  3. - const为**编译时常量**,程序编译时将对常量值进行解析,并将所有常量引用替换为相应值
  4. > 声明及初始化
  5. - readonly常量只能声明为类字段,支持实例类型或静态类型,可以在声明的同时初始化或者在构造函数中进行初始化,初始化完成后便无法更改。
  6. - const常量除了可以声明为类字段之外,还可以声明为方法中的局部常量,默认为静态类型(无需用static修饰,否则将导致编译错误),但必须在声明的同时完成初始化。
  7. > readonly什么时候用
  8. - readonly用于字段,意思是:字段只能在初始化时候赋值,在随后的使用中,字段的值不能再改变。
  9. - readonly修饰的字段,其初始化仅是固定了其引用(地址不能修改),但它引用的对象的属性是可以更改的。
  10. 大胆使用readonly,为了值不再被赋值。
  11. - 编译时OR运行时:
  12. - const:编译时
  13. - readonly:运行时
  14. - 作用域:
  15. - const:
  16. - ①本身就是静态变量
  17. - ②只能定义基本类型,如int,string等等
  18. - ③局部变量和全局变量都可以定义
  19. - ④一旦定义就不能修改
  20. - readonly:
  21. - ①不是静态变量,如果需要需加上“static”关键字
  22.          ②可以定义一切类型,可以是自己自定义的对象
  23.          ③只能定义全局变量
  24.          ④一旦定义可以在构造函数里面进行初始化变量