- final:修饰符(关键字)。如果一个类被声明为final,那么这个类不能再有其他子类,就是不能被继承。在使用中也不能被改变,这说明在定义时就要给定初始值,在以后的使用中只可读取。被声明为final的方法也同样只能使用,不能在子类中重写。
public class finalTest {
public static void main(String[] args) {
String s1 = "斐fei";
String s2 = "斐" + "fei";
System.out.println(s1 == s2);
String str1 = "斐";
String str2 = "fei";
String s3 = str1 + str2;
System.out.println(s1 == s3);
}
}
- finally:通常在try…catch…的后面的执行代码块,也就是不论程序是正常执行或者发生错误,只要JVM不关闭就执行,可以将释放外部资源的代码写在finally块中。
- finalize:Object类中定义的方法,Java中允许使用finalize()方法,在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在销毁对象时调用的,通过重写finalize()方法可以整理系统资源或者执行其他清理工作。
public class finalizeTest {
private static finalizeTest ft = null;
public void info(){
System.out.println("测试资源清理的finalize方法");
}
public static void main(String[] args) throws Exception{
new FinalizeTest();
System.gc();
System.runFinalization();
ft.info();
}
public void finalize(){
System.out.println("执行finalize");
ft = this;
}
}