在Java中,final,final和finalize之間有許多差別。final,final和finalize之間的差別列表以下:spa
Nocode |
finalblog |
finally繼承 |
finalizeio |
1編譯 |
final用於對類,方法和變量施加限制。不能繼承final類,不能覆蓋final方法,而且不能更改final變量值。table |
finally用於放置重要代碼的一塊區域,不管是否處理異常,都將執行該區域的代碼。class |
finalize用於在垃圾被回收以前執行清理處理的操做。變量 |
2gc |
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: