final可以修饰类,属性,方法,局部变量
(1)作用于类:该类不能被继承
final class A{} //其他类不能extends A
(2)作用于属性或局部变量:它们不能够再被修改(常量)
public final double PI = 3.1415926;
(3)作用于方法:该方法不能被重写或重载
(1)final修饰的属性又叫常量,一般命名规则为 XX_XXX_XX
(2)final修饰的属性在定义时,必须赋初值,并且以后不能再修改,赋值可以在以下位置进行:
——定义时
——在构造器中
——在代码块中
(3)如果final修饰的属性是静态的,则初始化的位置只能是:
——定义时
——在静态代码块中,不能在构造器中赋值
(4)final类不能继承,但是可以实例化对象
(5)一般来说,如果一个类已经是final类了,就没有必要再将方法修饰成final方法
(6)final不能修饰构造器
(7)final 和 static往往搭配使用,效率更高,