<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 89,  comments - 98,  trackbacks - 0

    對與java中的final變量,java編譯器是進行了優化的。每個使用了final類型變量的地方都不會通過連接而進行訪問。比如說Test類中使用了Data類中一個final的int數字fNumber=77,這時候,java編譯器會將77這個常數編譯到Test類的指令碼或者常量池中。這樣,每次Test類用到fNumber的時候,不會通過引用連接到Data類中進行讀取,而是直接使用自己保存在類文件中的副本。


    對與java中的final變量,java編譯器是進行了優化的。每個使用了final類型變量的地方都不會通過連接而進行訪問。比如說Test類中使用了Data類中一個final的int數字fNumber=77,這時候,java編譯器會將77這個常數編譯到Test類的指令碼或者常量池中。這樣,每次Test類用到fNumber的時候,不會通過引用連接到Data類中進行讀取,而是直接使用自己保存在類文件中的副本。
    用程序說話:
    Test.java:

    public class Test{
    ?public static void main(String[] args){
    ??System.out.println(Data.fNumber);
    ?}
    }


    Data.java:

    public class Data{
    ?public static final int fNumber=77;?
    }

    執行命令和結果:

    Microsoft Windows XP [版本 5.1.2600]
    (C) 版權所有 1985-2001 Microsoft Corp.

    C:\Documents and Settings\zangmeng>cd ..

    C:\Documents and Settings>cd ..

    C:\>javac Test.java

    C:\>java Test
    77

    C:\>


    這時候,我們更改Data.java的內容:
    public class Data{
    ?public static final int fNumber=777;?
    }

    然后執行如下命令:

    C:\>javac Data.java

    C:\>java Test
    77

    C:\>

    這里我們看到,雖然Data.java中的fNumber已經更改為777,而且已經重新編譯了,但是因為編譯器把fNumber的副本保存Test類中,所以在重新編譯Test類的前,Test類一直把fNumber認為是77而不是777。下面我們變異Test.java,再執行,看看結果。

    C:\>javac Test.java

    C:\>java Test
    777

    C:\>
    這時候,我們看到,重新編譯的Test類將新的777數值封裝到了自己類中。

    整個過程如下:
    Microsoft Windows XP [版本 5.1.2600]
    (C) 版權所有 1985-2001 Microsoft Corp.

    C:\Documents and Settings\zangmeng>cd ..

    C:\Documents and Settings>cd ..

    C:\>javac Test.java

    C:\>java Test
    77
    //在這里改變了Data.java的內容
    C:\>javac Data.java

    C:\>java Test
    77

    C:\>javac Test.java

    C:\>java Test
    777

    C:\>

    posted on 2006-07-28 09:36 水煮三國 閱讀(282) 評論(1)  編輯  收藏 所屬分類: J2SE

    FeedBack:
    # re: 轉:使用Java中的final變量需要注意的地方
    2006-07-28 09:38 | 水煮三國
    這里要注意的一點:就是前提是test在未編譯前  回復  更多評論
      
    <2006年7月>
    2526272829301
    2345678
    9101112131415
    16171819202122
    23242526272829
    303112345

    常用鏈接

    留言簿(4)

    隨筆分類(85)

    隨筆檔案(89)

    文章分類(14)

    文章檔案(42)

    收藏夾(37)

    java

    oracle

    Sybase

    搜索

    •  

    積分與排名

    • 積分 - 210836
    • 排名 - 265

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲AV日韩AV一区二区三曲| 国产亚洲精品AAAA片APP| 老子影院午夜伦不卡亚洲| 中文字幕免费在线观看动作大片| 51在线视频免费观看视频| 免费国产在线观看不卡| 自怕偷自怕亚洲精品| 国产午夜亚洲精品不卡电影| 色猫咪免费人成网站在线观看| 免费毛片在线视频| 久久亚洲一区二区| 国产精品亚洲综合网站| 亚洲免费在线播放| 一区二区三区亚洲视频| 亚洲福利秒拍一区二区| 亚欧国产一级在线免费| 啦啦啦中文在线观看电视剧免费版 | 67pao强力打造国产免费| 国产免费一区二区三区VR| 亚洲一区二区三区日本久久九| 国产精品亚洲综合网站| 免费观看国产网址你懂的| 亚洲综合国产精品第一页| 在线观看亚洲AV日韩AV| 日韩免费在线视频| 亚洲第一网站男人都懂| 精品亚洲成在人线AV无码| 最近中文字幕免费大全| 国产免费人成在线视频| 亚洲a级成人片在线观看| 三级网站在线免费观看| 日本免费人成黄页在线观看视频| 亚洲成人网在线观看| 爽爽爽爽爽爽爽成人免费观看| 国产免费直播在线观看视频| 亚洲最大在线观看| 一级特级aaaa毛片免费观看| 四色在线精品免费观看| 亚洲第一网站免费视频| 午夜爽爽爽男女免费观看影院| 久久亚洲国产精品123区|