1.const与final的区别
-
const
初始化的时候必须要赋值,final
可以不赋值
初始化赋值
- const与final初始化的值都不能修改,且不能用于修饰
var
关键字
const:只能被设一次值,在声明处赋值,且值必须为编译时常量;用于修饰常量。
const bar = 1000000; // 定义常量值
bar =13; // 出现异常,const修饰的变量不能调用setter方法,即:不能设值,只能在声明处设值
const atm = 1.01325 * bar; // 值的表达式中的变量必须是编译时常量(bar);
var c = 12;
atm = 1 * c; //出错,因为c不是一个编译时常量,即:非const修饰的变量(只有const修饰的变量才是编译时常量)
final name = 'Bob';
// name = 'job'; //运行出错,因为final修饰的变量不能调用其setter方法,即:不能设值
- final变量的初始值可以在编译时确定,也可以在运行时确定,cosnt变量的初始值只能是编译时确定的值
- 内存中的创建相同的值,final变量会重复创建,const会引用同一份值
参考链接
网友评论