Java - 27 final
可以修饰 类、属性、方法和局部变量
使用场景
-
不希望类被继承
-
不希望父类的某个方法被子类重写
-
不希望类的某个属性被修改(常量)
class A{
public final double TAX_RATE = 0.08;
}
- 不希望局部变量被修改(局部常量)
细节
- final修饰的属性在定义时必须赋初值,并且之后不能修改
- 定义时赋值
- 在构造器中赋值
- 在代码块中赋值
class A{
public final double TAX_RATE = 0.08;
public final double TAX_RATE2;
public final double TAX_RATE3;
{
TAX_RATE2 = 1.1;
}
public A{
TAX_RATE3 = 2.2;
}
}
- final修饰的属性是静态的,初始化的位置