A Cooly Weblog

             ::  ::  ::  ::  :: 管理

          [原]JAVA關鍵字-final

          Posted on 2007-02-10 23:56 acooly 閱讀(366) 評論(0)  編輯  收藏 所屬分類: Java開發

          JAVA 語言中,有很多特殊的關鍵字( final,static,super,supert,this 等)是每個 JAVA 程序員必須應該搞清楚的,不僅在實際開發中會用到,而起也是面試或考試題里面青睞的考點之一。

          本文是自己關于關鍵字 final 的一些總結。 final 關鍵字主要應用在標志和聲明類,成員變量和方法為不可變,通過這個基本定義可以擴展到 final 可以限制類和方法的繼承關系。

          ?

          final 變量

          final 變量分為簡單變量和對象變量。聲明 final 的簡單變量,表示該變量從初始化后其值(簡單變量直接存儲值,而不是引用)就不會改變,需要注意的是在使用其他類提供的 public final 簡單變量的時候,就算其他類改變了其定義并重新編譯,使用的類在重新編譯前該值是不會改變的(參考: http://blog.csdn.net/daniel112/archive/2006/10/11/1330255.aspx )。聲明為 final 的對象變量表示一旦初始化其引用不會改變。

          final 變量初始化化可以在聲明時或構造函數中完成。

          Public? class ?MyFinalTest{

          ??
          /** ?聲明時候直接初始化? */

          ??Public?
          final ?String?FINAL_STR? = ?“final_str”;

          ??
          /** ?在構造函數中初始化? */

          ??Private?
          final ?String?FINAL_STR1;

          ?

          ??Public?MyFinalTest(){

          ????FINAL_STR1?
          = ?“asdfasd”;

          }

          }

          final

          定義為 final 的類表示該類不能被繼承,也就是說該類是一個功能設計完成,不在需要擴展的類。同時該成員方法也對應默認標志為 final ,成員變量隨定義而定。

          ?

          Public? final ? class ?FinalClass{

          ??Public?
          void ?method1(){}

          ??
          /**

          ??*?沒有必要加關鍵字final

          ??
          */

          ??Public?
          final ? void ?method2(){}

          }

          ?

          final 方法

          定義為 final 的方法表示該方法不能被子類覆寫( override )。

          主站蜘蛛池模板: 徐汇区| 乃东县| 三明市| 孟津县| 兴文县| 措勤县| 定西市| 长沙市| 雅安市| 开江县| 万安县| 新巴尔虎右旗| 丹棱县| 通州市| 秦安县| 南江县| 满洲里市| 景泰县| 安义县| 永平县| 曲沃县| 都昌县| 应城市| 赤水市| 山阳县| 鲁甸县| 天气| 聂拉木县| 隆化县| 长子县| 邯郸市| 昌图县| 五常市| 呼图壁县| 张家川| 安塞县| 洞头县| 岑溪市| 双峰县| 定远县| 绥阳县|