对class来说,用法如:final class A{}代表类A为终极类,不能被继承,也就没有子类之说与接口实现者之说。
对method来说,用法如:public final void test(){} 代表此方法不能被重写。
对argument来说,先看看这个测试类:
public class Test {
int i =1;
final Test t = new Test(); // Test对象引用变量t不能再指向Test对象。但可以通过t来改变此对象中的非常量属性值。
public final void test(){
final int i = 1;//final修饰的变量必须在声明时赋值,且不能在改变。
t.i++;
}
}
二、finally关键字用在异常处理中,用于处理异常后的清理工作,实际中一般用于关闭文件流,释放资源等操作。
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
for(int i=0;i<6;i++){
System.gc();
Test t = new Test();
}
System.gc();// 若注释此语句,则只打印0-4,这就是Java垃圾回收机制的一个简单验证。
}