final的意思是最终,不可变
final是个关键字,可以用来修饰类,类的成员,以及局部变量
final 表示"最后的、最终的"含义,变量一旦赋值后,不能被重新赋值。被 final 修饰的实例变量必须显式指定初始值。
final 修饰符通常和 static 修饰符一起使用来创建类常量。
public class Test{
final int value = 10;
// 下面是声明常量的实例
public static final int BOXWIDTH = 6;
static final String TITLE = "Manager";
public void changeValue(){
value = 12; //将输出一个错误
}
}
final修饰局部变量:一次赋值,终生不变,又被称作为常量
final修饰引用变量问题:引用变量保存的内存地址,终生不变
final修饰成员变量,成员变量,在堆内存中是有默认值的,而修饰的成员变量固定的不是内存的默认值,固定的是成员变量的手动赋值,所以用final修饰的成员变量一定要手动赋初始值,否则报错
成员变量的赋值有两种方式:一种是在定义的时候直接赋值,另一种方式采用构造方式赋值也可以,但是必须保证被final赋值的成员变量,只能被赋值一次,绝不能赋值两次
成员变量需要在创建对象前赋值,否则报错
final 修饰变量一般命名规则是所有字母都是大写,单词之间用下划线隔开,例:MAX_VALUE
final 可以在局部代码块中使用
父类中的 final 方法可以被子类继承,但是不能被子类重写。
声明 final 方法的主要目的是防止该方法的内容被修改。
如下所示,使用 final 修饰符声明方法。
public class Test{
public final void changeName(){
// 方法体
}
}