中國星星

          向往自由的空氣/燦爛的陽光/輕柔的風……

           

          關鍵字final、finally和方法finalize()

          關鍵字final

           

          1、聲明變量,阻止對其內容進行修改:

           

          Java代碼
          final int FILE_NEW = 1; 

          final int FILE_NEW = 1;

           

          2、在繼承中使用:

           

              a、阻止重寫

           

          Java代碼
          class A {   
              final void meth() {   
                  System.out.println("The final method.");   
                }   
          }   
           
          class B extends A {   
              void meth() { //錯誤的,無法繼承。  
                  System.out.println("Illegal.");  
                }   
          }  

          class A {
              final void meth() {
                  System.out.println("The final method.");
                }
          }

          class B extends A {
              void meth() { //錯誤的,無法繼承。
                  System.out.println("Illegal.");
                }

              聲明為final的方法有時候可以提高程序性能。

           

              b、使用final阻止繼承

           

          Java代碼
           final class A {   
                  //...   
          }  
           
          class B extends A {     //錯誤的   
                  //...   
          }  

           final class A {
                  //...
          }

          class B extends A {     //錯誤的
                  //...

              聲明一個類為final則隱式的聲明了它的所有方法也為final,聲明一個類既是abstract又是final是不合法的。

           

          關鍵字finally

           

              當拋出異常的時候,方法內的程序會采取一種突變的非線性的路線,這樣就改變了方法內的正常程序流。根據方法的編碼形式,異常可能使方法過早的返回。finally就是用來解決這種意外事件的。 finally創建一個代碼塊,該代碼將在執行完成try/catch塊之后執行try/catch塊后面的代碼之前被執行。無論是否拋出異常,finally塊都將執行。如果拋出異常,即使沒有catch語句匹配這個異常,finally塊也將執行。

           

          方法finalize()

           

              在撤銷一個對象的時候,有時候需要完成一些操作。比如:一個對象正持有某些非Java資源,要確保在對象被銷毀之前釋放這些資源。為處理這種情況Java提供了一種稱為結束(finalization)的機制。使用結束,可以定義特殊的動作,這種動作在一個對象要被垃圾收集器收回時執行。要給一個類添加結束器,只需定義finalize()方法。

           

          Java代碼
          protected void finalize()   
          {   
                  // finalization code here   

          protected void finalize()
          {
                  // finalization code here
          }

          posted on 2008-10-31 09:46 Jesin 閱讀(302) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          導航

          統計

          常用鏈接

          留言簿(1)

          隨筆檔案

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 卢龙县| 西城区| 鱼台县| 微博| 甘德县| 合水县| 廊坊市| 嘉黎县| 屏东市| 江油市| 华池县| 安国市| 呼和浩特市| 河源市| 绥宁县| 长沙县| 石渠县| 乌兰县| 札达县| 百色市| 苏州市| 阿尔山市| 杨浦区| 于田县| 贺兰县| 称多县| 揭阳市| 宁城县| 黎平县| 固阳县| 德格县| 玉田县| 金堂县| 阳城县| 永善县| 手游| 铁岭县| 海宁市| 博兴县| 三亚市| 绥江县|