1.一个变量可以声明为final,这样做的目的是阻止它的内容被修改。在声明final变量时,程序员必须初始化这个变量。在这种用法上,final类似于C语言/C++中的const。例如下面的程序段:
final int NEW = 1;
final int OPEN = 2;
final int SAVE = 3;
final int SAVEAS = 4;
final int QUIT = 5;
定义了上面的常量之后,在随后的程序中就可以使用NEW、OPEN、SAVE、SAVEAS和QUIT这5个标示符了,就好像它们是常数,不必担心它们的值会被改变。
一般来说,final类型的变量都由答谢字母构成。为final变量的所有的字符选择大写是一个普遍的编码约定。声明为final的变量在实例中不占用内存。这样,一个final变量实质上是一个常数。
2.关键字final也可以用来限定方法,但是它的意思和它被用于变量时表达的含义是不同的。在继承中,利用final可以实现两个功能:
a.防止一个类被继承;
b.防止类中的方法被重写;
如果不希望某个类被继承时,只需在类声明前加final。如果把一个声明为final,也就暗含了该类里面的所有的方法都不得被继承这个事实。
如果不希望父类中的某个方法被重写时,可以在这个方法的声明前加final,这样就可以阻止该方法被重写。下面是一个final方法的实例。