final关键字

final 修饰的类不允许被继承;

final 修饰的方法不允许被重写;

final 修饰的变量不允许修改值;

final 修饰的成员变量声明时必须赋初值。

final 也可以修饰局部变量,声明时可以不赋初值。

final 修饰的成员变量在声明时必须赋初值,这是因为如果可以不赋初值,那么什么时候给它赋值,一定是在方法里,那么,一个方法给它赋了值,而另外一个方法不知道已经有方法给它赋过值了,但自己尝试给它赋值一定是不可行的,因为已经其他方法给它赋过值了,赋过值就不可改变了。所以.....

而final 修饰的局部变量的作用域就在这个方法里,一行语句给它赋值了,再想给它赋值不可以,但很容易能找到给它赋值的语句。

原文地址:https://www.cnblogs.com/Mike_Chang/p/7083017.html