Java中final关键词用法
- 修饰类
当用final去修饰一个类时,代表该类不允许被继承,一般而言都是一些工具类,比如Java中的String、System - 修饰方法
表示该方法不能被重写。即父类方法被final修饰,子类不可再重写该方法 - 修饰成员变量
- 修饰非静态成员变量
可以直接赋初值,可以在类中{}代码块中赋初值,也可以在构造方法中赋初值,但只能且必须显式赋值一次 - 修饰静态成员变量
可以直接赋初值,也可以在类中static{}静态代码块中赋初值,不可以在构造方法中赋值(因为静态变量在调用类构造器前就已经分配内存空间了),只能且必须显式赋值一次
- 修饰非静态成员变量
- 修饰局部变量
可以直接声明时赋初值,也可以之后再赋值,但只能且必须显式赋值一次,未赋值前不可调用
PS: final修饰Java基本类型时,表示该变量值不可改变,修饰引用类型时,表示这个引用的地址的值不可改变,但这个引用指向的对象里面的内容还是可以改变的