欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
初始化

原文鏈接http://zhhll.icu/2020/04/29/java%E5%9F%BA%E7%A1%80/%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1/java%E5%9F%BA%E7%A1%80%E4%B9%8B%E5%88%9D%E5%A7%8B%E5%8C%96/

初始化順序

在類(lèi)中變量定義的順序決定了它們初始化的順序。

public class House {
    // 構造器之前
    Window w1 = new Window(1);

    House(){
        System.out.println("House()");
        Window window = new Window(11);
    }

    // 構造器之后
    Window w2 = new Window(2);

    void f(){
        System.out.println("f()");
    }

    Window w3 = new Window(3);

    public static void main(String[] args) {
        House house = new House();
        house.f();
    }
}

public class Window {
    public Window(int mark){
        System.out.println("Window("+mark+")");
    }
}

執行結果

Window(1)
Window(2)
Window(3)
House()
Window(11)
f()

驗證類(lèi)加載

public class Initable {
    // 非編譯期常量
    public static final int COUNT =new Random().nextInt(1000);
    static {
        System.out.println("Initable初始化");
    }
}


public class Initable1 {
    // 編譯期常量
    public static final int COUNT = 47;

    static {
        System.out.println("Initable1初始化");
    }
}

public class Initable2 {
    public static int COUNT = 56;

    static {
        System.out.println("Initable2初始化");
    }
}

public class Initable3 {
    public static int COUNT = 33;

    static {
        System.out.println("Initable3初始化");
    }
}

public class Initable4 {
    public static int COUNT = 44;

    static {
        System.out.println("Initable4初始化");
    }
}

結果:
Initable---------------
Initable初始化
457
Initable1---------------
47
Initable2---------------
Initable2初始化
56
Initable3---------------
Initable4---------------
Initable4初始化

對于static final的值是一個(gè)編譯期常量的話(huà)(如Initable1.COUNT),獲取這個(gè)值時(shí)不需要對Initable1進(jìn)行初始化就可以讀取,如果用static final的值不是一個(gè)編譯期常量(如Initable.COUNT),訪(fǎng)問(wèn)這個(gè)變量會(huì )強制對該類(lèi)進(jìn)行初始化

對于一個(gè)僅僅是static修飾的字段而不是final的,在讀取這個(gè)字段之前,需要為該字段分配存儲空間以及初始化該存儲空間

使用.class語(yǔ)法不會(huì )對類(lèi)進(jìn)行初始化,而使用Class.forName()來(lái)產(chǎn)生Class引用會(huì )直接引發(fā)類(lèi)的初始化

由于本身的博客百度沒(méi)有收錄,博客地址http://zhhll.icu

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
關(guān)于Class對象的作用與產(chǎn)生
java惰性初始化
Class.forName()與xxx.class的區別
深入理解Java類(lèi)型信息(Class對象)與反射機制
Java類(lèi)中各種靜態(tài)變量的加載順序的學(xué)習
Java中的Enum用法介紹
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久