final指最后的,最终的,可以修饰类,属性,方法和局部变量
final修饰可以
(1)当类不需要继承时,用final关键字修饰
(2)不希望父类某个方法被子类重写,用final修饰
(3)当不希望类的某个属性的值被修改,用final修饰
(4)不希望,某个局部变量被修改,用final修饰
final的使用细节
final修饰的属性又叫常量,一般用XX_XX_XX来命名
(2)final修饰的属性在定义时,必须赋初值,并且不能再修改。
赋初值必须在如下位置之一:
(1)定义时:final int TAX_RATE=1;
(2)构造器中
(3)在代码块中
(4)final类不能被继承,但是可以实例化对象
(5)如果类不是final,但是有方法是final,该方法不能被重写,该类可以被继承
(6)一个类如果已经是final,那么他的方法没有必要写成final
(7)final和static一般搭配使用,效率更高,不会导致类加载,底层编译器做了优化处理
public class test {
public static void main(String[] args) {
System.out.println(AA.n1);//代码块不会输出
}
}
class AA{
public final static int n1=10;
static {
System.out.println("static代码块被执行");
}
}
包装类(Integer,Double,Float,Boolean等都是final),String也是final