一、说明
final属于一种修饰符,可以用于修饰类和属性、方法、局部变量
二、特点
1、修饰类
该类不能被继承,如String、Integer等
2、修饰方法
该方法不能被重写
3、修饰变量(属性和局部变量)
该变量的值不能被修改,也就是变成了常量
(1)特点
如果是引用类型的常量,则地址不能更改,但属性可以更改
如果是基本类型的常量,则值不能更改
(2)常量属性的注意事项
①常量属性必须在最开始初始化
普通常量属性:声明时或普通初始化块或构造器时初始化
静态常量属性:声明时或静态初始化块
②常量属性建议大写,提高代码的阅读性
③static和final往往搭配使用,jvm做了优化,提高性能
(优化之后,如果直接调用静态常量,则仅显示10,不显示static block)
class Demo {
public static final int A=10;
static {
System.out.println("static block");
}
}
public class TestStaticFinal{
public static void main(String[] args) {
System.out.println(Demo.A);
}
}