A Cooly Weblog

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

          [原]JAVA關鍵字-final

          Posted on 2007-02-10 23:56 acooly 閱讀(365) 評論(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 )。

          主站蜘蛛池模板: 大理市| 平阴县| 南汇区| 迁西县| 东港市| 海阳市| 阿巴嘎旗| 开阳县| 武夷山市| 宜宾县| 井陉县| 罗山县| 吉木萨尔县| 惠来县| 怀柔区| 长春市| 大宁县| 辽阳市| 扎鲁特旗| 贺兰县| 蓝田县| 玉树县| 噶尔县| 达孜县| 武冈市| 四子王旗| 伊宁市| 鹤山市| 永吉县| 汕尾市| 晋城| 永寿县| 凉城县| 武夷山市| 祁阳县| 武安市| 宣城市| 吴川市| 河池市| 奉节县| 若尔盖县|