final
final关键字可以修饰类,字段(成员变量),局部变量,方法,形参
- final修饰的类表示最终类,不能被继承,如String类、StringBuffer类、System类、Scanner类
- final修饰的成员变量必须显示的赋初值(必须手动赋值),一般在定义的同时赋值,①此常量不能使用默认初始化②可以显式的赋值、代码块、构造器。
==注:在构造器中赋值时,当有多个构造器时,要保证调用每个构造器都能为常量赋值。==只要在创建对象前赋值就OK,但是不可再修改,一般final与static同时修饰某个成员变量,所有字母都大写,称为final常量,常量的定义语法格式:
public static final 类型 常量名 = 值;
java规范中要求所有常量的名字全部大写,每个单词之间使用下划线连接。 - final修饰局部变量,一旦赋值不可修改,如果final修饰引用变量,那么表示这个引用不能在指向别的对象,那么被指向的对象无法被垃圾回收器回收,但是对象的实体还是可以改变的
- final修饰方法,不能被子类重写,但是可以被子类继承
- final修饰的形参在方法体中不可被赋值,因为在参数传递时,形参已经被赋值