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

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

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

    Dict.CN 在線詞典, 英語學(xué)習(xí), 在線翻譯

    都市淘沙者

    荔枝FM Everyone can be host

    統(tǒng)計(jì)

    留言簿(23)

    積分與排名

    優(yōu)秀學(xué)習(xí)網(wǎng)站

    友情連接

    閱讀排行榜

    評論排行榜

    java類的初始化順序

    abstract class base
    {
        public int age=getNumber(100);
        static
        {
            System.out.println("base static block");
        }
        {
            System.out.println("base nonstatic block");
        }
        static int sage=getNumber(50);
        base()
        {
            System.out.println(age);
            System.out.println("base start");
            draw();//會調(diào)用子類覆蓋后的方法
            System.out.println("base end");
            
        }
        static int getNumber(int base)
        {
            System.out.println("base.getNumber int"+base);
            return base;
        }
        public  void draw()
        {
            System.out.println("base.draw");
        }
    }
    public class initializeOrder extends base{
        public int age=getNumber(1001);
        private int _radius=getNumber(10);
        static int sage=getNumber(250);
        static
        {
            System.out.println("subclass static block");
        }
        {
            System.out.println("subclass nonstatic block");
        }
        initializeOrder(int radius)
        {
            _radius=radius;
            System.out.println(age);
            System.out.println("initializeOrder initialized");
        }
        public void draw()
        {
            System.out.println("initializeOrder.draw "+_radius);
        }
        /** *//**
         * @param args
         */
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            new initializeOrder(1000);
        }
    }
    運(yùn)行結(jié)果:

    C:\java>java initializeOrder
    base static block
    base.getNumber int50
    base.getNumber int250
    subclass static block
    base.getNumber int100
    base nonstatic block
    100
    base start
    initializeOrder.draw 0
    base end
    base.getNumber int1001
    base.getNumber int10
    subclass nonstatic block
    1001
    initializeOrder initialized

    C:\java>

    總結(jié):
    1、類只有在使用New調(diào)用創(chuàng)建的時(shí)候才會被JAVA類裝載器裝入
    2、JAVA類首次裝入時(shí),會對靜態(tài)成員變量或方法進(jìn)行一次初始化,但方法不被調(diào)用是不會執(zhí)行的,靜態(tài)成員變量和靜態(tài)初始化塊級別相同,非靜態(tài)成員變量和非靜態(tài)初始化塊級別相同。
    先初始化父類的靜態(tài)代碼--->初始化子類的靜態(tài)代碼-->
    初始化父類的非靜態(tài)代碼--->初始化父類構(gòu)造函數(shù)--->
    初始化子類非靜態(tài)代碼--->初始化子類構(gòu)造函數(shù)
    3、創(chuàng)建類實(shí)例時(shí),首先按照父子繼承關(guān)系進(jìn)行初始化
    4、類實(shí)例創(chuàng)建時(shí)候,首先初始化塊部分先執(zhí)行,然后是構(gòu)造方法;然后從
    本類繼承的子類的初始化塊執(zhí)行,最后是子類的構(gòu)造方法
    5、類消除時(shí)候,首先消除子類部分,再消除父類部分

    posted on 2006-04-26 16:11 都市淘沙者 閱讀(320) 評論(1)  編輯  收藏 所屬分類: Java Basic/Lucene/開源資料

    評論

    # re: java類的初始化順序 2009-04-22 17:22 逸天

    1、類只有在使用New調(diào)用創(chuàng)建的時(shí)候才會被JAVA類裝載器裝入
    這句是錯(cuò)的

      首次主動使用的情形:

      ·創(chuàng)建某個(gè)類的新實(shí)例時(shí)--new、反射、克隆或反序列化;

      ·調(diào)用某個(gè)類的靜態(tài)方法時(shí);

      ·使用某個(gè)類或接口的靜態(tài)字段或?qū)υ撟侄钨x值時(shí)(final字段除外);

      ·調(diào)用Java的某些反射方法時(shí)

      ·初始化某個(gè)類的子類時(shí)

      ·在虛擬機(jī)啟動時(shí)某個(gè)含有main()方法的那個(gè)啟動類。

      回復(fù)  更多評論   

    主站蜘蛛池模板: 亚洲人成伊人成综合网久久久 | 亚洲日本久久久午夜精品| 亚洲国产精品成人一区| 青青在线久青草免费观看| 高清永久免费观看| 日韩亚洲人成网站| 亚洲国产情侣一区二区三区| 久久精品国产亚洲AV网站| 亚洲黄片手机免费观看| 日韩免费高清一级毛片在线| 91精品免费不卡在线观看| 国内精品免费视频精选在线观看| 免费国产污网站在线观看不要卡| 亚洲精品无码高潮喷水A片软| 亚洲综合激情六月婷婷在线观看| 亚洲精品乱码久久久久久 | 免费人妻精品一区二区三区| 亚洲色最新高清av网站| 亚洲成在人线中文字幕| 午夜亚洲www湿好大| 亚洲AV永久无码精品成人| 亚洲真人日本在线| 亚洲精品第一国产综合境外资源| 国产伦精品一区二区三区免费迷| 免费观看的毛片手机视频| 夜夜爽免费888视频| 成人奭片免费观看| 中文字幕无码不卡免费视频| 黄色永久免费网站| 免费精品国偷自产在线在线| 亚洲美女视频免费| 50岁老女人的毛片免费观看| 51视频精品全部免费最新| 国产精品永久免费10000| 日本视频一区在线观看免费| 日本成年免费网站| 成人特黄a级毛片免费视频| 日本成人免费在线| 免费成人av电影| 最新亚洲成av人免费看| 亚洲欧洲日产国码无码久久99|