国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

java對象初始化順序驗證示例

2019-11-26 15:43:06
字體:
來源:轉載
供稿:網友

復制代碼 代碼如下:

public class Derive extends Base
{
    private Member m1 = new Member("Member 1");
    {
        System.out.println("Initial Block()");
    }

    public Derive() {
        System.out.println("Derive()");
    }

    private Member m2 = new Member("Member 2");
    private int i = getInt();

    private int getInt()
    {
        System.out.println("getInt()");
        return 2;
    }

    public static void main(String[] args)
    {
        new Derive();
    }
}

class Base
{
    public Base()
    {
        System.out.println("Base()");
    }
}

class Member
{
    public Member(String m)
    {
        System.out.println("Member() "+m);
    }
}
/*程序輸出:
Base()
Member()  Member 1
Initial Block()
Member()  Member 2
getInt()
Derive()
*/



得出結論如下:不考慮靜態成員的初始化,調用一個對象的構造函數時,程序先調用父類的構造函數(可以通過super關鍵字指定父類的構造函數,否則默認調用無參的構造函數,并且需要在子類的構造函數的第一行調用),之后靜態成員變量的初始化函數和靜態初始化塊則按照在代碼當中的順序執行,成員變量如果沒有指定值的話則賦予默認值,即基本數據類型為0或false等,對象則為null;最后調用自身構造函數。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 盐边县| 银川市| 原阳县| 汉阴县| 黄石市| 龙游县| 犍为县| 突泉县| 镇平县| 邵阳市| 宁晋县| 宝山区| 鸡东县| 博湖县| 秦安县| 泗水县| 安溪县| 曲周县| 故城县| 比如县| 广宗县| 东乌珠穆沁旗| 成安县| 望奎县| 襄樊市| 安阳县| 隆回县| 青州市| 保康县| 石阡县| 南阳市| 乳源| 万盛区| 通辽市| 凉山| 达拉特旗| 洱源县| 云浮市| 邻水| 茶陵县| 溧水县|