類物件的初始化:
1.static成員變數的初始化
2.static塊的初始化
//與實際在**中的位置有關
3.例項成員變數的初始化
4.例項塊的初始化
//與實際在 **中的位置有關
5.建構函式
建構函式:
可以過載 無返回值 如果你沒有寫建構函式,系統會給出缺省建構函式,如果已經寫了,則呼叫建構函式不符時會出錯
例項初始化:
例項,例項,即依賴於物件的成員進行的初始化,每個物件產生前都要呼叫一次
普通與static:同名的成員和方法可以定義
******************普通成員*************靜態成員
普通方法**********可以******************可以
靜態方法**********不可以****************可以
class data
//例項(依賴於物件的成員)初始化塊 物件產生之前都要呼叫一次
//例項初始化塊先呼叫,然後是物件的構造函式呼叫
public
data()
public
data(string year,string month,string day)
}public
class my
//例項(依賴於物件的成員)初始化塊 物件產生之前都要呼叫一次
//例項初始化塊先呼叫,然後是物件的構造函式呼叫
public
my()
public
static
void
main(string args)
}
結果輸出:
data static init block!
data instance init block!
data data()
my static init block!
my instance init block!
my person()
分析:在main中建立my物件———>先初始化my中的static成員變數,即data物件(data的static成員變數——>data的static塊初始化 ——>data的例項初始化——>data的構造函)——>my的static塊初始化——>my的普通成員的初始化——>my的例項塊初始化——>my的建構函式
*將my的成員變數c設定為普通成員變數,即去掉static*
public
class my
public
my()
public
static
void
main(string args)
}
輸出結果:
my static init block!
data static init block!
data instance init block!
data data()
my instance init block!
my person()
分析:在main中建立my物件———>先初始化my中的static成員變數(my中現在沒有static成員變數)——>my的static初始化——>my的普通成員的初始化(data的static成員變數——>data的static初始化 ——>data的例項初始化——>data的構造函)——>my的例項初始化——>my的建構函式
*將my例項化塊放在普通成員變數的前面*
public
class my
int a;
char b;
data c=new data();
static
//例項(依賴於物件的成員)初始化塊 物件產生之前都要呼叫一次
//例項初始化塊先呼叫,然後是物件的構造函式呼叫
public
my()
public
static
void
main(string args)
}
輸出結果:
my static init block!
my instance init block!
data static init block!
data instance init block!
data data()
my person()
分析:在main中建立my物件———>先初始化my中的static成員變數(my中現在沒有static成員變數)——>my的static初始化——>my的例項初始化——>my的普通成員的初始化(data的static成員變數——>data的static初始化 ——>data的例項初始化——>data的構造函)——>my的建構函式
JAVA類與物件的初始化
請看乙個例子 public class test2 class superinitfield static class subinitfield extends superinitfield static 該例子的結果為 static parent parent static child paren...
java類物件的初始化順序
類物件的初始化順序 1.static成員變數預設初始化 2.static塊初始化 3.例項成員變數預設初始化 4.例項塊初始化 5.建構函式 或1.static塊初始化 2.static成員變數預設初始化 3.例項塊初始化 4.例項成員變數預設初始化 5.建構函式 測試 class date dat...
初始化類物件
初始化類物件 趙湘寧問題 c 中如何初始化類中的表資料?在c語言中,我能像下面這樣初始化結構陣列 struct mystruct mystruct table etc 但是如果mystruct是個c 類,而不是結構,我編譯就會出錯。我覺得這是c 的乙個不足。解答 這個問題完全取決於你如何看待c c ...