1.基本介绍
final中文意思: 最后的、最终的。
final可以修饰类、属性、方法和局部变量。
在某些情况下,程序员可能偶一下需求,就会使用final:
1) 当不希望类被继承时,就可以使用final。 2) 当不希望父类的某个方法的被子类重写/覆盖(override)时, 可以用final关键修饰。 3) 当不希望类的某个属性值被修改,可以用final修饰。 4) 当不希望某个局部变量被修改,可以用final修饰。
2.final使用注意事项和细节讨论
1) final修饰的属性又叫常量,一般用XX_XXX_XXX命名。
2) final修饰的属性定义时,必须赋初始值,并且以后不能修改,赋值可以在如下位置:
a) 定义时,如:public final int XX_XXX_XXX = 1; b) 在构造器中 c) 在代码块中3) 如果final修饰的属性是静态的,则初始化的位置只能是:
a) 定义时,如:public final int XX_XXX_XXX = 1; b) 只能在静态代码块中,不能再构造器中赋值。4) final不能被继承,但但是可以被实例化对象。
5) 如果类不是final类,但含有final修饰的方法,则该方法不能被重写,但是可以被继承。
6) 一般来说,如果一个类已经是final类了,就没有必要再将方法修饰为final方法。
7) final不能修饰构造器。
8) final和static往往搭配使用,效率更高。不会导致类加载,底层编译器做了优化。