final修饰的变量:
final修饰的变量叫做常量,只能被赋值一次,值不能变化
基本数据类型:其数值一旦在初始化之后便不能更改
引用数据类型:在对其初始化之后便不能再让其指向另一个对象,但指向该对象的内容可以改变
final固定的是一个地址
final修饰全局变量:必须赋值,否则变量出栈时需要修改方法区中的值,这样不符合final得到特性
final修饰局部变量(存在方法区中):final修饰的局部变量可以不赋初始值,但是要想使用这个局部变量,就必须赋值
final修饰的方法:不能被重写,如果你有两个方法,该方法必须被子类重写,那么一定不能定义成final类型
final修饰的类:不能被继承
final的作用:防止变量被二次赋值防止方法重写,防止类被继承,防止指令重排序