Java中final关键字

Java中final关键字

基本介绍

final中文意思为最后的,最终的,final可以修饰类,属性,方法和局部变量。

应用场景:

  1. 当不希望类被继承时,可以用final修饰
  2. 当不希望父类的某个方法被子类覆盖或者被重写时,可以用关键字修饰
  3. 当不希望类的某个属性值被修改,可以用final修饰

使用细节

  • final其实可以认为成常量,所以在变量命名中用XXX大写来表示常量
  • final修饰的属性在定义时,必须赋初值,并且以后不能在修改。
  • 如果final修饰的为静态变量,对final的赋值不能在构造器之中进行赋值操作。静态变量是在类加载时就要调用,而构造器则在创建对象时才进行使用的(当你运行以下代码时,会发现对于age2的操作会报错)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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配合使用,可以使类不被加载,静态代码块不用执行

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    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("静态代码块被调用了");
    }

    }