一、final
final 用来修饰变量,只能被赋值一次,运行时赋值。也就是当程序运行到这里才会被赋值。
二、const
const 只可以修饰变量,常量构造函数。修饰的变量只可以被赋值一次。const修饰的变量在整个App的生命周期内都是不可变的常量,在内存中也只会创建一次,之后的每次调用都会复用第一次创建的对象。
三、const 和final的区别
- 取值的时机不同,const在编译时候就已经确定下来,而final修饰的变量在运行时才会确定下来。
- 应用范畴不同,final用来修饰变量,const不仅修饰变量,还可以修饰常量构造函数。
- 相同内容对象创建不同,const的list1,list2内容一样,会指向同一个对象。final修饰的list1和list2内容一样,但是会指向不同的变量。
- const修饰的list不能修改内容,而final修饰的list可以修改内容。
- final 不能修饰类和方法,和java的不同。
https://baijiahao.baidu.com/s?id=1676957934558318007&wfr=spider&for=pc
网友评论