成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

java中初始化對象的方法

本篇文章為大家展示了java中初始化對象的方法,代碼簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

創(chuàng)新互聯(lián)公司2013年開創(chuàng)至今,先為東寧等服務(wù)建站,東寧等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為東寧企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

第一步:加載該類,一個java對象在初始化前會進行類加載,在JVM中生成Class對象。加載一個類會進行如下操作,下面給出遞歸描述。

如果該類有父類,則先加載其父類?!   ?/strong>

i 初始化該類靜態(tài)成員

ii 執(zhí)行該類靜態(tài)代碼塊

第二步:創(chuàng)建對象,如果該類有父類,則創(chuàng)建對象時會先創(chuàng)建其父類的對象,外層包裹子類的屬性和方法,然后返回子類的引用,下面給出遞歸描述。

如果該類有父類,先創(chuàng)建父類的對象。

i 初始化該類普通成員

ii 執(zhí)行普通代碼塊

iii 調(diào)用該類構(gòu)造方法

示例:

該類對象作為成員變量

public class Info{    public Info(String s) {
        System.out.println(s);
    }
}

父類

public class Parent {
    public static Info info = new Info("Parent static member");      //靜態(tài)成員
    public Info info2 = new Info("Parent common member");            //普通成員
    static {                                                         //靜態(tài)代碼塊
        System.out.println("parent static block");
    }
    {                                                                //普通代碼塊
        System.out.println("parent common block");
    }
    public Parent() {                                                //父類構(gòu)造方法
        System.out.println("Parent.Parent()");
    }
}

子類

public class Child extends Parent{
    public static Info info = new Info("Child static member");       //靜態(tài)成員
    public Info info2 = new Info("Child common member");             //普通成員
    static {                                                         //靜態(tài)代碼塊
        System.out.println("Child static block");
    }
    {                                                                //普通代碼塊
        System.out.println("Child  common block");
    }
    public Child() {                                                 //子類構(gòu)造方法
        System.out.println("Child.Child()");
    }
}

下面測試類的加載過程,我們不創(chuàng)建對象,而是直接加載類,并且是加載子類

public class InitObjectTest{
    public static void main(String[] args) {
        try{
            //Class.forName("Parent");
            Class.forName("Child");
        }catch(Exception e){
            
        }
        //System.out.println("=============== now , we create an Object below ===========");
        //new Parent();
    }
}

測試結(jié)果:

java中初始化對象的方法

測試結(jié)果符合上面所寫的加載類的規(guī)則,先初始化父類靜態(tài)成員,再執(zhí)行父類靜態(tài)塊,然后初始化子類靜態(tài)成員,最后執(zhí)行子類靜態(tài)塊。我們可以看到靜態(tài)成員確實在類加載時初始化。

注意:類的加載只進行一次,之后創(chuàng)建對象將不再進行類加載,這也是為什么靜態(tài)代碼塊只執(zhí)行一次的原因。

上述內(nèi)容就是java中初始化對象的方法,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

本文題目:java中初始化對象的方法
本文網(wǎng)址:http://jinyejixie.com/article36/jjjdsg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航、定制網(wǎng)站自適應(yīng)網(wǎng)站、搜索引擎優(yōu)化標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

泽普县| 清镇市| 天柱县| 晋城| 横山县| 广宁县| 那坡县| 准格尔旗| 精河县| 龙川县| 武安市| 吴旗县| 诏安县| 商洛市| 紫金县| 台北市| 盘山县| 鹿邑县| 建始县| 苍溪县| 闻喜县| 武穴市| 阳春市| 梧州市| 离岛区| 广饶县| 海门市| 九龙坡区| 五华县| 江山市| 顺平县| 长春市| 伊春市| 高淳县| 竹北市| 清河县| 城固县| 宁德市| 吴桥县| 桓台县| 若羌县|