final可修饰变量、方法以及类
一、常量
final修饰变量的时候,表示这个变量的值不可以改变
final int[] arr = {1,2,3,4,5};
arr[2] = 7;
对于基本类型而言,变量对应的值是实际值;对于引用类型而言,变量对应的值是地址,所以此时用final修饰的时候,是指地址不可改变
对于final类型的成员变量,一般来说有两种赋值方式:
(1)在声明的时候显示赋初值。
(2)在声明的时候不赋值,而在构造代码块中赋值或者在所有的构造方法中赋值。
在Java中说到的常量往往是静态常量。在程序中静态常量才是真正意义上的常量(因为静态变量只会存储一份,而单纯的常量在方法区的常量池中都有一个备份)。
对于final修饰的局部变量,在声明的时候可以不赋初值,在使用之前赋初值就可以了,但是只可以赋一次。
二、最终方法
final修饰方法,该方法不能被重写
最终方法可以重载吗?
可以
静态方法可以用final修饰吗?
可以
三、最终类
Final修饰类,表示是一个最终类
该类不能被继承