Java:final,finally 和 finalize 的区别

在Java中,final,final和finalize之间有许多差异。final,final和finalize之间的差异列表如下:

No

final

finally

finalize

1

final用于对类,方法和变量施加限制。不能继承final类,不能覆盖final方法,并且不能更改final变量值。

finally用于放置重要代码的一块区域,无论是否处理异常,都将执行该区域的代码。

finalize用于在垃圾被回收之前执行清理处理的操作。

2

final是一个关键词

finally是一段代码块

finalize是一个方法

① final例子

1 public class FinalExample {
2     public static void main(String[] args){
3         final int x=100;
4         x=200;    //编译时错误
5     }
6 }

Meaasge:

② finally例子

 1 public class FinallyExample {
 2     public static void main(String[] args){
 3         try{
 4             int x=300;
 5         }catch(Exception e){
 6             System.out.println(e);
 7         }
 8         finally{
 9             System.out.println("finally block is executed");
10         }
11     }
12 }

Output:

③ finalize例子

 1 class FinalizeExample{
 2     public void finalize(){
 3         System.out.println("finalize called");
 4     }
 5 
 6     public static void main(String[] args){
 7         FinalizeExample f1=new FinalizeExample();
 8         FinalizeExample f2=new FinalizeExample();
 9         f1=null;
10         f2=null;
11         System.gc();
12     }
13 }

Output:

猜你喜欢

转载自www.cnblogs.com/magic-sea/p/11728075.html