public class Test {



          public Test() {


          System.out.println(" 構造函數");


          }

          @1:靜態初始化塊
          static


          {


          System.out.println("static{}");


          }

          @2:初始化塊
          {


          System.out.println("{}");


          }



          public static void main(String[] args) {

           


          System.out.println("main()");


          }



          }





          運行結果為:


          static{}


          main()


          程序執行順序為:靜態初始化塊static{}-->初始化塊{}-->構造函數constructor;

          注意:即使沒有生成new此實例或此類是否有static main()函數,靜態初始化塊static{}也照樣會運行。



          在繼承的情況下:


          class Test{


          Test(){


          System.out.println("父類構造函數");


          }


          static{


          System.out.println("父類靜態初始化塊");

           
          }


          {


          System.out.println("父類初始化塊");


          }


          }




          public class  TestChild  extends Test{


          public TestChild() {


          System.out.println("子類構造函數");


          }  


          static


          {


          System.out.println("子類靜態初始化塊");


          }


          {


          System.out.println("子類初始化塊");


          }


          public static void main(String[] args) {

          new TestChild();


          }



          }



          運行結果:



          父類靜態初始化塊


          子類靜態初始化塊


          父類初始化塊


          父類構造函數


          子類初始化塊


          子類構造函數

           



          程序運行順序為:父靜態-->子靜態-->父初始化及構造-->子初始化及構造;


          注意:初始化塊和構造是接連運行的,不會父類子類交替.

          posted on 2008-08-29 01:21 李威威 閱讀(1099) 評論(0)  編輯  收藏

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


          網站導航:
           
           
          主站蜘蛛池模板: 宁海县| 论坛| 根河市| 外汇| 乡宁县| 库尔勒市| 安化县| 安泽县| 济源市| 宣武区| 巢湖市| 隆安县| 汉中市| 正镶白旗| 顺昌县| 十堰市| 冷水江市| 贡嘎县| 措美县| 南岸区| 洛宁县| 凭祥市| 罗甸县| 西安市| 沂水县| 远安县| 丰县| 应用必备| 惠来县| 集贤县| 离岛区| 郯城县| 五台县| 建水县| 连城县| 公安县| 和静县| 东港市| 白银市| 阜新市| 永丰县|