java類構造物件的構造順序

2021-07-06 02:22:54 字數 602 閱讀 9104

我們先來看乙個例項

class example 

}class bigexample extends example

}class staticitem

}class privateitem

}public

class

test

}

結果是這樣的:

this is staticitem

this is privateitem

this is example

this is bigexample

從這裡我們可以看出,當構造乙個物件時,會先去看一看這個類是否有基類,如果有基類就先去基類中去,但是假如到乙個類中,可是現在我們想類中有字段和建構函式,這個順序是什麼尼?從上面我們可以看出是先初始化了字段,然後再呼叫建構函式,這個其實想想也是必要的,因為建構函式的功能就是初始化一些類中的東西,如何還沒有初始化變數引用,那麼建構函式就沒法初始化了,下面我們總結一下流程:

1.先去看一下這個類,有沒有基類,如果有基類就先構造基類

2.在乙個類中先初始化變數,變數中先初始化靜態變數,然後是普通變數,然後再呼叫建構函式。

Java類完整的構造執行順序

如果父類有靜態成員賦值或者靜態初始化塊,執行靜態成員賦值和靜態初始化塊 如果類有靜態成員賦值或者靜態初始化塊,執行靜態成員賦值和靜態初始化塊 將類的成員賦予初值 原始型別的成員的值為規定值,例如int型為0,float型為0.0f,boolean型為false 物件型別的初始值為null 如果構造方...

含物件成員類的構造順序

class a private int m public a cout a s constructor 2 與變數定義類似,在用預設建構函式建立物件時,如果建立的物件時全域性的或者時靜態的,則物件的位模式全為0,否則物件值時隨機的。輸出的結果是 a s constructor b s constru...

Java類裡靜態快,構造塊,建構函式的順序

靜態塊 用static申明,jvm載入類時執行,僅執行一次 構造塊 類中直接用 定義,每一次建立物件時執行 建構函式 一般用來初始化成員屬性和成員方法的,即new物件產生後,就呼叫了物件了屬性和方法 public class study static static public static voi...