Java final、finally和finalize差异
final,final和finalize之间有很多差异。以下列出了final,final和finalize之间的差异:
final |
finally |
finalize |
final用于对类,方法和变量施加限制。最终类不能被继承,最终方法不能被覆盖,最终变量值也不能更改。 |
finally用于放置重要代码,无论是否处理异常都将执行它。 |
finalize用于在垃圾回收对象之前执行清理处理。 |
final是关键字。 |
finally是一个方块。 |
finalize是一种方法。 |
Java final的示例
class FinalExample{
public static void main(String[] args){
final int x=100;
x=200;
//Compile Time Error}
}
Java finally示例
class FinallyExample{
public static void main(String[] args){
try{
int x=300;
}
catch(Exception e){
System.out.println(e);
}
finally{
System.out.println("finally block is executed");
}
}
}
Java finalize示例
class FinalizeExample{
public void finalize(){
System.out.println("finalize called");
}
public static void main(String[] args){
FinalizeExample f1=new FinalizeExample();
FinalizeExample f2=new FinalizeExample();
f1=null;
f2=null;
System.gc();
}
}