1.finally关键字
finally 关键字用来创建在 try 代码块后面执行的代码块。
无论是否发生异常,finally 代码块中的代码总会被执行。
在 finally 代码块中,可以运行清理类型等收尾善后性质的语句。
finally 代码块出现在 catch 代码块最后,语法如下:
try{
// 程序代码
}catch(异常类型1 异常的变量名1){
// 程序代码
}catch(异常类型2 异常的变量名2){
// 程序代码
}finally{
// 程序代码
}
2.final关键字
final是一个关键字,可以用于修饰类,成员变量,成员方法。
特点:
它修饰的类不能被继承。
它修饰的成员变量是一个常量。
它修饰的成员方法是不能被子类重写的。
final修饰的常量定义一般都有书写规范,被final修饰的常量名称,所有字母都大写。
final修饰成员变量,必须初始化,初始化有两种
显示初始化;
构造方法初始化。
但是不能两个一起初始化
final和private的区别:
1.final修饰的类可以访问; private不可以修饰外部类,但可以修饰内部类(其实把外部类私有化是没有意义的)。
2.final修饰的方法不可以被子类重写; private修饰的方法表面上看是可以被子类重写的,其实不可以,子类是看不到父类的私有方法的。
3.final修饰的变量只能在显示初始化或者构造函数初始化的时候赋值一次,以后不允许更改; private修饰的变量,也不允许直接被子类或一个包中的其它类访问或修改,但是他可以通过set和get方法对其改值和取值。
3. finalize() 方法
Java 允许定义这样的方法,它在对象被垃圾收集器析构(回收)之前调用,这个方法叫做 finalize( ),它用来清除回收对象。
例如,你可以使用 finalize() 来确保一个对象打开的文件被关闭了。
在 finalize() 方法里,你必须指定在对象销毁时候要执行的操作。
finalize() 一般格式是:
protected void finalize()
{
// 在这里终结代码
}