<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 桔子汁 閱讀(368) 評論(0)  編輯  收藏 所屬分類: J2SE
    主站蜘蛛池模板: 国产伦一区二区三区免费| baoyu777永久免费视频| 亚洲国产成人无码AV在线| 亚洲日韩乱码中文无码蜜桃| 久久久久亚洲AV无码观看 | 成人电影在线免费观看| 亚洲性在线看高清h片| 亚洲国产成人久久综合一区77| 免费va人成视频网站全| 又黄又爽无遮挡免费视频| 免费人成视频在线观看视频| 免费一级毛片正在播放| 精品国产亚洲一区二区在线观看| 久久精品亚洲福利| 国产成人精品日本亚洲网站| 亚洲AV天天做在线观看| 亚洲综合日韩中文字幕v在线| 久久亚洲精品成人无码网站| 亚洲冬月枫中文字幕在线看| 亚洲日韩AV无码一区二区三区人 | 一级毛片aaaaaa免费看| 96免费精品视频在线观看| 67194国产精品免费观看| 国产一卡2卡3卡4卡2021免费观看| 成人人观看的免费毛片| 国产中文字幕免费| 亚洲午夜无码久久久久| 午夜亚洲AV日韩AV无码大全| 亚洲欧洲精品久久| 亚洲AV无码乱码在线观看富二代| 亚洲一区二区在线免费观看| 亚洲jjzzjjzz在线观看| 婷婷国产偷v国产偷v亚洲| 亚洲成人福利在线观看| 亚洲乱码国产乱码精华| www.av在线免费观看| 久久国产精品免费网站| 成人在线免费观看| 国产亚洲色视频在线| 亚洲成在人线中文字幕| 男性gay黄免费网站|