- final的变量的值不能够被改变
- final的成员变量
- final的局部变量(形参)
public class TestFinal {
public static void main(String[] args){
T t = new T();
t.i = 8; //不可以更改,会报错
}
}
class T{
final int i = 8;
// 不可以更改,会报错:java: 不能分配最终参数j
public void m(final int j){
j = 9;
}
}
- final的方法不能够被重写
class T{
final int i = 8;
public final void m(){
//j = 9;
}
}
class TT extends T{
//报错:java: TestFinal.TT中的m()无法覆盖TestFinal.T中的m()
//被覆盖的方法为final
public void m(){
}
}
- final的类不能够被继承
final class T{
final int i = 8;
public final void m(){
//j = 9;
}
}
//报错:java: 无法从最终TestFinal.T进行继承
class TT extends T{
}