程式執行順序

2021-06-07 07:55:19 字數 1170 閱讀 7584

public class testa   

}  

/**類b**/ 

public class testb   

}  

/**類 parent **/ 

public class parent   

private  testa testa2 = newtesta("parent變數");  

public parent()  

}  

/**parent的子類subclass**/ 

public class subclass extends parent  

private static testa testa2 = new testa("subclass的靜態變數2");  

static   

private  testa testa3 = newtesta("subclass變數1");  

private  testa testa4 = newtesta("subclass變數2");  

public subclass()  

publicstatic void main(string args)   

}  列印結果如下:

parent的靜態變數

parent的靜態初始化模組

subclass的靜態變數1

subclass的靜態初始化模組1

subclass的靜態變數2

subclass的靜態初始化模組2

parent變數

parent的初始化模組

parent的建構函式

subclass變數1

subclass的初始化模組1

subclass變數2

subclass的初始化模組2

subclass的建構函式

說明 :

1.靜態變數與靜態模組是最先初始化的,因為它是屬於類的變數和模組.

2.parent的構造器要先於它的子類,這一點是肯定的,但parent的變數,初始化模組要先於它的子類,這一點可能理解起來有點困難,但我們只要知道父類的構造器先於子類,它的變數與模組也是理所當然的,這樣理解起來會比較合理.

3.靜態變數與靜態模組的初始化順序是根據在類裡面定義的順序,同理變數化初始化模組的順序也是根據類裡面定義的順序(上面結果的紅色部門)

MFC程式執行順序

2 winmain登場 extern c int winapi twinmain hinstance hinstance,hinstance hprevinstance,lptstr lpcmdline,int ncmdshow twinmain函式的 t 是為了支援unicode而準備的乙個巨集。...

MFC程式執行順序

2 winmain登場 extern c int winapi twinmain hinstance hinstance,hinstance hprevinstance,lptstr lpcmdline,int ncmdshow twinmain函式的 t 是為了支援unicode而準備的乙個巨集。...

Java程式執行順序

1 靜態塊 父類靜態塊 子類靜態塊 2 父類塊 父類構造器 3 子類塊 子類構造器 也就是 靜態塊優於其他 塊和構造器,然後是父類中的 塊和者構造器 最後才是子類中的 塊和者構造器。public class mastiff extends dog 方法塊 構造器 public mastiff pub...