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

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

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

    隨筆-128  評(píng)論-55  文章-5  trackbacks-0

    /*   
     *初始化全過程:   
     *   
     *1,    第一次創(chuàng)建MyClass類的對(duì)象,或者第一次訪問MyClass的static方法或字段時(shí),Java解釋器會(huì)搜尋classpath,找到MyClass.class。   
     *2,    裝載MyClass.class后,會(huì)對(duì)所有的static數(shù)據(jù)進(jìn)行初始化。這樣第一個(gè)裝載Class對(duì)象的時(shí)候,會(huì)先進(jìn)行static成員的初始化。   
     *3,    使用new MyClass()創(chuàng)建新對(duì)象的時(shí)候,MyClass對(duì)象的構(gòu)建進(jìn)程會(huì)先在堆里為對(duì)象分配足夠的內(nèi)存。 *   
     *4,    清零這塊新內(nèi)存,把MyClass對(duì)象的primitive類型的成員賦上缺省值。   
     *5,    執(zhí)行定義成員數(shù)據(jù)時(shí)所作的初始化。    
     *6,    執(zhí)行構(gòu)造函數(shù)。   
     */    
    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.*;     
        
    //當(dāng)創(chuàng)建Window的實(shí)例對(duì)象時(shí)會(huì)有消息提示     
    class Window     
    {     
        Window(int marker)     
        {     
            print("Window(" + marker + ")");     
        }     
    }     
        
    class House     
    {     
        Window w1 = new Window(1); // 構(gòu)造函數(shù)前的變量     
        
        House()     
        {     
            //構(gòu)造函數(shù)里面的變量     
            print("House()");     
            w3 = new Window(33); // 重新賦值w3     
        }     
        
        Window w2 = new Window(2); // 構(gòu)造函數(shù)后的變量     
        
        void f()     
        {     
            print("f()");     
        }     
        
        Window w3 = new Window(3); // 結(jié)束類體時(shí)的對(duì)象     
    }     
        
    public class OrderOfInitialization     
    {     
        public static void main(String[] args)     
        {     
            House h = new House();     
            h.f();      
        }     
    }      
    /*   
    * 輸出結(jié)果: Window(1) Window(2) Window(3) House() Window(33) f()   
    *   
    * 從結(jié)果看出,雖然域變量w2,w3排在構(gòu)造函數(shù)后面,但它的輸出卻在構(gòu)造函數(shù)前面   
    */    
        
    /****************************************************/    
        
    // 數(shù)組的初始化     
    import java.util.*;     
        
    public class ArrayInit     
    {     
        public static void main(String[] args)     
        {     
            //直接賦值方式,局限在于數(shù)組在大小編譯確定     
            Integer[] a = {      
                    new Integer(1),      
                    new Integer(2),      
                    3, // 自動(dòng)包裝     
                    };     
            //new方式,適于參數(shù)數(shù)量未知的場(chǎng)合,或者參數(shù)類型未知的場(chǎng)合     
            Integer[] b = new Integer[] {      
                    new Integer(1),      
                    new Integer(2),      
                    3, // 自動(dòng)包裝     
                    };     
            System.out.println(Arrays.toString(a));     
            System.out.println(Arrays.toString(b));     
        }     
    }     
    /* 輸出結(jié)果:   
     [1, 2, 3]   
     [1, 2, 3]   
     *///:~   


    Author: orangelizq
    email: orangelizq@163.com

    歡迎大家訪問我的個(gè)人網(wǎng)站 萌萌的IT人
    posted on 2008-12-25 11:30 桔子汁 閱讀(368) 評(píng)論(0)  編輯  收藏 所屬分類: J2SE
    主站蜘蛛池模板: 亚洲第一页中文字幕| 最好免费观看韩国+日本| 1000部拍拍拍18勿入免费凤凰福利 | 国内免费高清在线观看| 亚洲一区二区成人| 久久精品无码专区免费东京热| 国产亚洲情侣一区二区无码AV| 一级毛片免费观看不收费| 亚洲精品无码久久不卡| 猫咪免费人成在线网站| 亚洲裸男gv网站| 美丽姑娘免费观看在线观看中文版| 久久综合日韩亚洲精品色| 好久久免费视频高清| 日本久久久久亚洲中字幕| 永久免费AV无码网站在线观看| 香蕉视频在线免费看| 亚洲电影中文字幕| 24小时日本韩国高清免费| 亚洲黄色网址大全| 国产大片线上免费观看| 亚洲人成网站在线在线观看| 女人被男人桶得好爽免费视频 | 青青久久精品国产免费看| 亚洲天堂中文字幕在线| 中国一级毛片免费看视频| 亚洲丁香色婷婷综合欲色啪| 国产又大又粗又硬又长免费| sihu国产精品永久免费| 久久精品国产96精品亚洲| 国产公开免费人成视频| 亚洲一级免费视频| 中文字幕免费播放| 在线观看亚洲电影| 亚洲A∨无码无在线观看| 亚洲成A人片在线观看中文| 久99久精品免费视频热77| 亚洲综合小说另类图片动图| 伊在人亚洲香蕉精品区麻豆| 两个人看的www免费| 33333在线亚洲|