基本介绍
final中文意思为最后的,最终的,final可以修饰类,属性,方法和局部变量。
应用场景:
- 当不希望类被继承时,可以用final修饰
- 当不希望父类的某个方法被子类覆盖或者被重写时,可以用关键字修饰
- 当不希望类的某个属性值被修改,可以用final修饰
使用细节
- final其实可以认为成常量,所以在变量命名中用XXX大写来表示常量
- final修饰的属性在定义时,必须赋初值,并且以后不能在修改。
- 如果final修饰的为静态变量,对final的赋值不能在构造器之中进行赋值操作。静态变量是在类加载时就要调用,而构造器则在创建对象时才进行使用的(当你运行以下代码时,会发现对于age2的操作会报错)
public class Test {
}
class aa{
final static int age=88;
final static int age1;
final static int age2 ;
static {
age1=99;
}
public aa() {
age2=18;
}
}
- final类不可以被继承,但是可以进行实例化对象
- 如果一个类已经是final类,就不需要在将方法修饰成final方法
- final与static配合使用,可以使类不被加载,静态代码块不用执行
public class Test { public static void main(String[] args) { System.out.println(aa.age); } } class aa{ final static int age=88; static { System.out.println("静态代码块被调用了"); } }