麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Java > 正文

淺談Java變量的初始化順序詳解

2019-11-26 16:03:57
字體:
供稿:網(wǎng)友

規(guī)則1(無繼承情況下):
對(duì)于靜態(tài)變量、靜態(tài)初始化塊、變量、初始化塊、構(gòu)造器,它們的初始化順序依次是
(靜態(tài)變量、靜態(tài)初始化塊)>(變量、初始化塊)>構(gòu)造器
證明代碼:

復(fù)制代碼 代碼如下:

public class InitialOrderTest {
    // 靜態(tài)變量
    public static String staticField = "靜態(tài)變量";
    // 變量
    public String field = "變量";
    // 靜態(tài)初始化塊
    static {
        System.out.println(staticField);
        System.out.println("靜態(tài)初始化塊");
    }
    // 初始化塊
    {
        System.out.println(field);
        System.out.println("初始化塊");
    }
    // 構(gòu)造器
    public InitialOrderTest() {
        System.out.println("構(gòu)造器");
    }
    public static void main(String[] args) {
        new InitialOrderTest();
    }
}

結(jié)果顯示:
靜態(tài)變量
靜態(tài)初始化塊
變量
初始化塊
構(gòu)造器

規(guī)則2(有繼承情況下):
子類的靜態(tài)變量和靜態(tài)初始化塊的初始化是在父類的變量、初始化塊和構(gòu)造器初始化之前就完成

復(fù)制代碼 代碼如下:

class Parent {
    // 靜態(tài)變量
    public static String p_StaticField = "父類--靜態(tài)變量";
    // 變量
    public String p_Field = "父類--變量";
    // 靜態(tài)初始化塊
    static {
        System.out.println(p_StaticField);
        System.out.println("父類--靜態(tài)初始化塊");
    }
    // 初始化塊
    {
        System.out.println(p_Field);
        System.out.println("父類--初始化塊");
    }
    // 構(gòu)造器
    public Parent() {
        System.out.println("父類--構(gòu)造器");
    }
}//如果你想把這兩個(gè)類放在同一個(gè)文件且名字起為SubClass, 父類前不能加public
public class SubClass extends Parent { 
    // 靜態(tài)變量
    public static String s_StaticField = "子類--靜態(tài)變量";
    // 變量
    public String s_Field = "子類--變量";
    // 靜態(tài)初始化塊
    static {
        System.out.println(s_StaticField);
        System.out.println("子類--靜態(tài)初始化塊");
    }
    // 初始化塊
    {
        System.out.println(s_Field);
        System.out.println("子類--初始化塊");
    }
    // 構(gòu)造器
    public SubClass() {
        System.out.println("子類--構(gòu)造器");
    }
    // 程序入口
    public static void main(String[] args) {
        new SubClass();
    }
}

結(jié)果顯示:
父類--靜態(tài)變量
父類--靜態(tài)初始化塊
子類--靜態(tài)變量
子類--靜態(tài)初始化塊
父類--變量
父類--初始化塊
父類--構(gòu)造器
子類--變量
子類--初始化塊
子類--構(gòu)造器

規(guī)則2(靜態(tài)變量和靜態(tài)初始化塊):
靜態(tài)變量和靜態(tài)初始化塊是依照他們在類中的定義順序進(jìn)行初始化的。同樣,變量和初
始化塊也遵循這個(gè)規(guī)律。

復(fù)制代碼 代碼如下:

public class testOrder {
    // 靜態(tài)變量
    public static TestA a = new TestA();
    public TestC c = new TestC();
    // 靜態(tài)變量
    public static TestB b = new TestB();
    public testOrder(){
        System.out.println("in constract");
    }
    // 靜態(tài)初始化塊
    static {
        System.out.println("靜態(tài)初始化塊");
    }
    public static void main(String[] args) {
        new testOrder();
    }
}
class TestA {
    public TestA() {
        System.out.println("Test--A");
    }
}
class TestB {
    public TestB() {
        System.out.println("Test--B");
    }
}
class TestC {
    public TestC() {
        System.out.println("Test--C");
    }
}

結(jié)果顯示:
Test--A
Test--B
靜態(tài)初始化塊
Test--C
in constract

個(gè)人總結(jié):
先靜后動(dòng),先父后子,從上到下,先變量后構(gòu)造

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 久久精片| 色视频在线播放 | 亚洲第五色综合网 | 亚洲人成中文字幕在线观看 | 国产免费黄色 | 999插插插 | 国产精品久久久久久久久久久久久久久久 | 一级大片一级一大片 | 精品一区二区三区在线观看视频 | 激情久久一区二区 | 1314av| 91精品国| 欧美日韩在线播放 | 一区二区三区四区高清视频 | 日本高清无遮挡 | 国产成年人在线观看 | 一边吃奶一边摸下娇喘 | 久草在线高清视频 | 国产午夜精品久久久久婷 | 男女生羞羞视频网站在线观看 | 毛片免费观看视频 | 久久久国产一区二区三区 | 亚洲最大中文字幕 | 日本黄色a视频 | 中文字幕综合在线观看 | 成人男女啪啪免费观看网站四虎 | 高清一区二区在线观看 | 中韩毛片 | 最近中文字幕一区二区 | 91成人在线免费 | 国产99视频精品免视看9 | 黄色片免费在线 | 成人aaaa免费全部观看 | 久久99精品久久久久久秒播放器 | av在线免费看网站 | 毛毛片在线看 | 日本成人一区二区 | 国产日韩在线观看视频 | 国产精品视频免费在线观看 | 国产精品野外av久久久 | 九九视屏 |