java初始化構造函式呼叫順序

2021-07-07 06:58:16 字數 1005 閱讀 6297

類初始化時構造函式呼叫順序:

(1)初始化物件的儲存空間為零或

null

值;(2)呼叫父類建構函式;

(3)按順序分別呼叫類成員變數和例項成員變數的初始化表示式;

(4)呼叫本身建構函式。

例子:public class dollar extends money

public static void main(string args)

}class money

}class rmb

}輸出結果:

money is construct

rmb is construct

dollar is construct!

在我們的程式中,例項化乙個類物件的時候,執行順序為:

靜態塊父類構造器

本類中的塊

本類的構造器 

public

class

dog   

static

}public

class

mastiff 

extends

dog   

static

public

static

void

main(string args)  

}  輸出結果:

super static block

static block

super block

dogblock

mastiff

也就是說此時的執行順序為:

父類靜態塊

自身靜態塊

父類塊父類構造器

自身塊自身構造器 

java初始化構造函式呼叫順序

直接舉例說明,看下面程式和結果。class helloa 父類塊 父類靜態塊 static public class hellob extends helloa 塊 靜態塊 static public static void main string args 執行結果 static a static...

JAVA構造方法初始化順序

直接上例子 class window class house window w2 new window 2 void f window w3 new window 3 public class orderofinitialization 執行結果如下 window 1 window 2 window...

c 建構函式初始化列表,建構函式的呼叫順序

列表初始化要比賦值初始化效率高,養成好習慣使用初始化列表喲 而且對於const修飾的變數和引用型變數必須用這種方式初始化 列表初始化的順序 初始化的順序與列表中書寫的順序無關,與繼承的順序 不寫父類初始化說明呼叫了預設建構函式 和變數宣告的順序相同!派生類建構函式的呼叫次序 先虛基類,後基類,再成員...