国产探花免费观看_亚洲丰满少妇自慰呻吟_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;最后調用自身構造函數。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安吉县| 定州市| 大余县| 莆田市| 南皮县| 静安区| 象州县| 且末县| 黄骅市| 云林县| 汤阴县| 平安县| 华安县| 湖南省| 三江| 台安县| 山阳县| 临城县| 太康县| 镇康县| 盐源县| 武隆县| 开原市| 黄骅市| 北海市| 临颍县| 晋中市| 永兴县| 奇台县| 交城县| 金堂县| 武功县| 沛县| 通城县| 武山县| 新建县| 都昌县| 七台河市| 巴林左旗| 泾源县| 张家界市|