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


    對與java中的final變量,java編譯器是進行了優(yōu)化的。每個使用了final類型變量的地方都不會通過連接而進行訪問。比如說Test類中使用了Data類中一個final的int數(shù)字fNumber=77,這時候,java編譯器會將77這個常數(shù)編譯到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;?
    }

    執(zhí)行命令和結(jié)果:

    Microsoft Windows XP [版本 5.1.2600]
    (C) 版權(quán)所有 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的內(nèi)容:
    public class Data{
    ?public static final int fNumber=777;?
    }

    然后執(zhí)行如下命令:

    C:\>javac Data.java

    C:\>java Test
    77

    C:\>

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

    C:\>javac Test.java

    C:\>java Test
    777

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

    整個過程如下:
    Microsoft Windows XP [版本 5.1.2600]
    (C) 版權(quán)所有 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的內(nèi)容
    C:\>javac Data.java

    C:\>java Test
    77

    C:\>javac Test.java

    C:\>java Test
    777

    C:\>

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

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

    常用鏈接

    留言簿(4)

    隨筆分類(85)

    隨筆檔案(89)

    文章分類(14)

    文章檔案(42)

    收藏夾(37)

    java

    oracle

    Sybase

    搜索

    •  

    積分與排名

    • 積分 - 211651
    • 排名 - 266

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲第一视频在线观看免费| 亚洲人AV永久一区二区三区久久| 亚洲精华国产精华精华液好用 | 美女一级毛片免费观看| 国产亚洲一区二区三区在线不卡| 日韩免费在线观看视频| 亚洲色成人四虎在线观看| 亚洲国产精品一区二区九九| 亚洲欧洲免费视频| 亚洲人成自拍网站在线观看| 国产国拍亚洲精品福利| 免费国产作爱视频网站| 一级毛片**免费看试看20分钟 | 国产精品无码亚洲精品2021| 亚洲乱码日产一区三区| 在线观看特色大片免费视频| 一级做a爰片久久毛片免费陪 | h视频免费高清在线观看| 亚洲老熟女@TubeumTV| 亚洲AⅤ无码一区二区三区在线| 99精品视频在线视频免费观看| 亚洲av成人无码网站…| 久久精品国产亚洲AV电影| 亚洲国产人成中文幕一级二级| 91免费国产在线观看| 男女拍拍拍免费视频网站 | 亚欧免费一级毛片| 一级成人生活片免费看| 亚洲第一区二区快射影院| 亚洲欧洲日韩国产综合在线二区| 日韩一品在线播放视频一品免费| 美女内射无套日韩免费播放 | 免费的黄色的网站| 亚洲娇小性xxxx| 久久久久亚洲精品影视| 亚洲视频在线精品| 日本一道本高清免费| 久久久久国色AV免费观看性色| 免费看搞黄视频网站| 国产99久久久国产精免费| 在线观看国产一区亚洲bd|