有些文章沒有發布到這里來,查看所有文章請訪問:http://blog.printf.com.cn

          普人特福的博客

          歡迎光臨普人特福的博客

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            16 隨筆 :: 9 文章 :: 22 評論 :: 0 Trackbacks
          類里面定義的變量,如果沒有明確的賦值,Java會保證初始化:內部類型,如整型會初始化為0;如果是對象的引用,會初始化為null。方法里面定義的變量,如果沒有賦值,編譯通不過。 ? 對于類內部的變量,初始化的順序如下: 1、所有變量,不管有沒有在定義時賦值,都初始化為null; 2、初始化靜態變量; 3、初始化普通的變量; 4、調用構造函數。 第一點有個簡單的方法驗證一下,寫一個類,在類里按照下面的順序定義兩個變量和一個方法: ??? String x = f(); ??? String f(){ ?????? return y; ??? } ??? String y = “jprintf”; 產生該類的一個對象,把x輸出來看看是什么結果就知道了。 初始化的順序很容易理解,不過,有一個情況很容易干擾對初始化的理解:如果類里面的變量和方法混雜地定義在一起,那會以一種什么方式初始化呢?簡單的情況,假設這些方法沒有使用這些變量,可以對這些方法視而不見,順序還是上面說的那種順序。 要是在這些方法中使用了這些變量會是什么樣的情況呢?把上面的代碼稍微調整一下: ??? String x = f(); ??? String f(){ ?????? y = “lj_”+y; ?????? return y; ??? } ??? String y = “jprintf”; y初始化成了lj_null。可以這樣理解這種情況,也是要注意的情況:這個變量還沒有正確初始化,就使用了。
          posted on 2008-07-08 07:33 普人特福 閱讀(99) 評論(0)  編輯  收藏

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


          網站導航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           
          有些文章沒有發布到這里來,查看所有文章請訪問:http://blog.printf.com.cn
          主站蜘蛛池模板: 铁岭市| 曲阜市| 雷州市| 阳新县| 阿城市| 云霄县| 西盟| 龙泉市| 桐乡市| 涡阳县| 漯河市| 琼结县| 洪雅县| 崇信县| 高邑县| 吴桥县| 邮箱| 普定县| 博野县| 金秀| 河北省| 那曲县| 安福县| 平陆县| 禹州市| 依安县| 左贡县| 镇平县| 稷山县| 邵东县| 泰来县| 凭祥市| 恩平市| 双桥区| 东乡族自治县| 武邑县| 洪泽县| 杭锦后旗| 扎兰屯市| 西安市| 噶尔县|