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

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

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

    隨筆-128  評論-55  文章-5  trackbacks-0

    /*   
     *初始化全過程:   
     *   
     *1,    第一次創建MyClass類的對象,或者第一次訪問MyClass的static方法或字段時,Java解釋器會搜尋classpath,找到MyClass.class。   
     *2,    裝載MyClass.class后,會對所有的static數據進行初始化。這樣第一個裝載Class對象的時候,會先進行static成員的初始化。   
     *3,    使用new MyClass()創建新對象的時候,MyClass對象的構建進程會先在堆里為對象分配足夠的內存。 *   
     *4,    清零這塊新內存,把MyClass對象的primitive類型的成員賦上缺省值。   
     *5,    執行定義成員數據時所作的初始化。    
     *6,    執行構造函數。   
     */    
    import static net.mindview.util.Print.*;     
        
    public class Beetle extends Insect     
    {     
        private int k = printInit("Beetle.k initialized");     
        
        public Beetle()     
        {     
            print("k = " + k);     
            print("j = " + j);     
        }     
        private static int x2 = printInit("static Beetle.x2 initialized");     
        
        public static void main(String[] args)     
        {     
            print("Beetle constructor");     
            Beetle b = new Beetle();     
        }     
    }     
        
    class Insect     
    {     
        private int i = 9;     
        protected int j;     
        
        Insect()     
        {     
            print("i = " + i + ", j = " + j);     
            j = 39;     
        }     
        
        private static int x1 = printInit("static Insect.x1 initialized");     
        
        static int printInit(String s)     
        {     
            print(s);     
            return 47;     
        }     
    }     
        
        
    /* Output:   
    static Insect.x1 initialized   
    static Beetle.x2 initialized   
    Beetle constructor   
    i = 9, j = 0   
    Beetle.k initialized   
    k = 47   
    j = 39   
    *///:~     
        
    /****************************************************/    
        
    // 變量初始化先后順序的示例     
    import static net.mindview.util.Print.*;     
        
    //當創建Window的實例對象時會有消息提示     
    class Window     
    {     
        Window(int marker)     
        {     
            print("Window(" + marker + ")");     
        }     
    }     
        
    class House     
    {     
        Window w1 = new Window(1); // 構造函數前的變量     
        
        House()     
        {     
            //構造函數里面的變量     
            print("House()");     
            w3 = new Window(33); // 重新賦值w3     
        }     
        
        Window w2 = new Window(2); // 構造函數后的變量     
        
        void f()     
        {     
            print("f()");     
        }     
        
        Window w3 = new Window(3); // 結束類體時的對象     
    }     
        
    public class OrderOfInitialization     
    {     
        public static void main(String[] args)     
        {     
            House h = new House();     
            h.f();      
        }     
    }      
    /*   
    * 輸出結果: Window(1) Window(2) Window(3) House() Window(33) f()   
    *   
    * 從結果看出,雖然域變量w2,w3排在構造函數后面,但它的輸出卻在構造函數前面   
    */    
        
    /****************************************************/    
        
    // 數組的初始化     
    import java.util.*;     
        
    public class ArrayInit     
    {     
        public static void main(String[] args)     
        {     
            //直接賦值方式,局限在于數組在大小編譯確定     
            Integer[] a = {      
                    new Integer(1),      
                    new Integer(2),      
                    3, // 自動包裝     
                    };     
            //new方式,適于參數數量未知的場合,或者參數類型未知的場合     
            Integer[] b = new Integer[] {      
                    new Integer(1),      
                    new Integer(2),      
                    3, // 自動包裝     
                    };     
            System.out.println(Arrays.toString(a));     
            System.out.println(Arrays.toString(b));     
        }     
    }     
    /* 輸出結果:   
     [1, 2, 3]   
     [1, 2, 3]   
     *///:~   


    Author: orangelizq
    email: orangelizq@163.com

    歡迎大家訪問我的個人網站 萌萌的IT人
    posted on 2008-12-25 11:30 桔子汁 閱讀(360) 評論(0)  編輯  收藏 所屬分類: J2SE
    主站蜘蛛池模板: 久久国产乱子伦精品免费一 | 一区二区三区免费高清视频| 亚洲国产精品无码第一区二区三区| 亚洲一区二区三区亚瑟| 亚洲一级毛片中文字幕| 久久精品国产亚洲av麻豆图片| 亚洲婷婷在线视频| 亚洲最大的黄色网| 亚洲区日韩精品中文字幕| 亚洲精品无码mⅴ在线观看| 亚洲精华国产精华精华液 | 亚洲成a人无码av波多野按摩 | 亚洲AV日韩精品久久久久| 久久精品国产亚洲av成人| 亚洲综合色丁香麻豆| 亚洲国产日韩在线人成下载| 亚洲 日韩 色 图网站| 亚洲精品色播一区二区| japanese色国产在线看免费| 久久久免费的精品| 女人18特级一级毛片免费视频| 国产精品亚洲αv天堂无码| 亚洲视频日韩视频| 亚洲av综合av一区二区三区| 久久国产美女免费观看精品 | 天黑黑影院在线观看视频高清免费| 巨波霸乳在线永久免费视频| 国产美女精品视频免费观看| 亚洲码国产精品高潮在线| 亚洲香蕉在线观看| 二区久久国产乱子伦免费精品| 日本在线高清免费爱做网站| 亚洲真人日本在线| 色噜噜亚洲男人的天堂| 国产免费区在线观看十分钟| 免费无码肉片在线观看| 亚洲精品自在在线观看| 亚洲七久久之综合七久久| 亚洲免费视频网站| 亚洲国产高清在线一区二区三区| 蜜芽亚洲av无码精品色午夜|