一、final关键字
final意为最终的,即一旦确定就再也不能被改变。
1、final变量的值不能够被改变
1)final成员变量
2)final局部变量(形参)
2、final的方法不能够被重写
public final class Math...
final意为最终的,即一旦确定就再也不能被改变。
1、final变量的值不能够被改变
1)final成员变量
public class TestFinal {
public static void main(String[] args) {
T t = new T();
t.i = 9; //错误,i被final修饰,其值一旦初始化就不能再被修改
t.i = 8; //错误,就算所赋值与初始值8一样,也同样违背了不能final变量不能被修改
}
}
class T {
final int i = 8;
}
2)final局部变量(形参)
public class TestFinal {
public static void main(String[] args) {
T t = new T();
t.m(100);
}
}
class T {
final int i = 8;
public void m(final int j) {
j = 200; //错误,形参的值被初始化为100,其值就不能再在函数体内部被修改
}
}
2、final的方法不能够被重写
class T {
final int i = 8;
public final void m() {
System.out.println("T");
}
}
class TT extends T {
/*
* 重写错误,子类TT类无法对父类T类中的m()方法进行重写,即final方法不能被覆盖。
*/
public final void m() {
System.out.println("TT");
}
}
3、final类不能够被继承
如:public final class String,public final class Math...
这些类是final类,无法被继承。