final修饰符
final修饰符
final关键字是修饰符的一员,它的英文翻译是“最终的,决定性的,不可改变的”,如字面意思这个修饰符用来修饰一下不可改变的值或其他的。
在java中其主要作用于四个地方
一丶修饰数据,其中包括成员变量,和局部变量,使用final修饰成员变量和局部变量的话表示该变量只能被赋值一次而且无法被改变,对于成员变量来说,我们必须要在声明时,构造方法或者初始化块中对它赋值。
二丶final用来修饰局部变量,表示在该变量的生命周期中它的值不能被改变(在此方法执行期间就是它的声明周期)
三丶使用final来修饰方法,表示该方法无法被重写;
四丶修饰类,表示该类无法被继承。
上面的继承出现错误。
补充一点局部变量还有一种形式的出现 那就是做为方法形参。
**在一个方法中如果形参使用了final修饰的话则表示它不能在方法体里面赋值,**在方法体里面赋值是属于二次赋值了,如果使用了的话那形参是在被调用的时候赋值的,不是在方法体里面赋值的
正确的是等待被调用时候 传进来的值才是正确的在方法体里面赋值是会出现错误的
因为形参和普通的局部变量赋值不大一样。
final关键字的好处
final关键字提高了性能。JVM和Java应用都会缓存final变量。
final变量可以安全的在多线程环境下进行共享,而不需要额外的同步开销。
使用final关键字,JVM会对方法、变量及类进行优化。
建议不要随意使用