java final关键字(基础)
java final关键字(基础)
关键字final是最终的意思,他可以用来修饰类,变量和方法。final修饰的元素都是不可变的。
final变量
final可以用来修饰类的局部变量和成员变量,使其成为最终变量,值不能再被修改。
(1):final修饰的成员变量必须在构造器前结束赋值,即可在声明变量的同时赋值,在构造方法中赋值,或者在静态的代码块中赋值。赋值后不能再改变。
(2):final修饰的局部变量只能被赋值一次,一旦被赋值后便不可更改。
(3):在大多数的情况下,final与static共同修饰变量,将其看做常量,通常用大写字母命名,而且必须在声明的同时就赋值。
//首先写一个方法
public class TestFinalField{
private final int firstVal; //声明final成员变量
private final int secondVal = 2; //声明final变量并赋值,之后不可更改
public static final int V =3; //看做常量,必须在声明的同时赋值
public TestFinalField(){ //构造方法
firstVal = 1; //在构造方法中给final变量赋值
}
public static void testMethod(){
final int forthVal; //声明final局部变量
final int fifthVal = 5; //声明final局部变量并且赋值
forthVal = 4; //final局部变量赋值一次,不能再改变
}
}
final方法
一般情况下,很少使用final方法,只有当类中的某个方法有不可被更改的实现,并且对象的稳定状态非常重要时,将该方法用final来修饰。用final修饰的方法是不能被子类重写的。
final类
final还可以修饰类,表示最终的类,但不能被子类所继承。