final关键之主要用在三个方向:
- 数据
对于基本类型,final使数据恒定不变;而对于对象引用,final使引用恒定不变即无法再重新new另一个对象给他;
空白final JAVA允许定义一个空白final但必须在域的定义或构造方法完成赋值操作,确保在使用前完成初始化操作。
- 方法
- 把方法锁定;以防继承类修改它的定义
- 类中的方法实际是隐式指定为final的,所以无法取用继而无法覆盖方法
- 类:别的类无法继承
- Final变量能实现一定的线程可见性:一旦在构造器内初始化那其他线程就能看见他的值