final可以修饰类、属性、方法、局部变量
1.基本介绍:
-
final类:表示该类不能被继承。final类通常用于防止类被修改或继承,从而确保类的完整性和安全性。
-
final方法:表示该方法不能被子类重写或修改。final方法在一些特殊情况下有用,例如确保算法的安全性或不可被篡改性。
-
final属性:表示该属性只能被赋值一次,即它的值是不可修改的。
-
final局部变量:表示该局部变量不能被修改。
2.使用注意事项和细节
- final修饰的属性又叫常量,一般用XX_XX_XX来命名
- final修饰的属性在定义时必须赋值,并且以后不能修改,可以在定义时或构造器或代码块中赋值。
- 若final修饰的属性是静态的,则初始化的位置只能是,定义时或在静态代码块中,不能在构造器中。
- final类不能被继承,但是可以实例化对象。
- 若不是final类,但有final方法,则该方法虽然不能被重写,但可以被继承。
- 如果一个类是final类,则没有必要再将其方法修饰成final方法,因为final类不能被继承,既然不能被继承,那么该类的方法一定不会被重写,故其方法没必要修饰成final方法。
- 包装类是final类
- final和static往往搭配使用,效率高,底层编译器做了优化,当用类名直接去调用final static的属性时,不会导致类加载。