有些文章沒有發布到這里來,查看所有文章請訪問: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 普人特福 閱讀(98) 評論(0)  編輯  收藏

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


          網站導航:
           
          有些文章沒有發布到這里來,查看所有文章請訪問:http://blog.printf.com.cn
          主站蜘蛛池模板: 库尔勒市| 休宁县| 伊川县| 琼中| 平潭县| 剑川县| 乐平市| 凤山县| 岳普湖县| 岢岚县| 卓资县| 苏州市| 大庆市| 九龙坡区| 三穗县| 周至县| 安陆市| 永川市| 五大连池市| 临沂市| 侯马市| 潼关县| 来安县| 延边| 潍坊市| 灵石县| 康定县| 铜山县| 富源县| 双鸭山市| 罗城| 嫩江县| 岑溪市| 天气| 体育| 肇东市| 梅河口市| 潍坊市| 临沂市| 扶沟县| 潢川县|