1. final¶
1.2. final 方法¶
如果为类声明的方法添加final修饰,则表示该方法不会被子类的方法重写。如果在静态方法中的声明中添加final修饰,那么该方法就不会被子类的方法隐藏(hide)。
备注
关于类方法重写与隐藏,参见java类的继承与多态。
1.3. final 字段¶
final修饰的字段只能被赋值一次。从创建线程安全的示例的角度来看,将只赋值一次的字段声明为final也是十分重要的。
对普通final字段的赋值有以下两种:
//way 1: 声明时赋值
class Something{
final int value=123;
}
//way 2: 构造函数中赋值
class Something{
final int value;
Something(){
this.value=123;
}
}
对final静态字段的赋值有以下两种:
//way 1: 声明时赋值
class Something{
static final int value=123;
}
//way 2: 静态初始代码块中赋值
class Something{
static final int value;
static{
value=123;
}
}
备注
将方法中的参数声明为final。在一某些情况下,传入方法的参数的值是不会变的,那么将其声明为final的话可以保证在该方法内不会由于操作失误而导致参数值的改变。
public void PrintMessage(final String message){ ... }