學習筆記 java初始化順序

2021-06-15 22:07:18 字數 1175 閱讀 7104

class bowl

void f1()

}class cupboard

static bowl b3 = new bowl(3);

}class table

table(string a,int i)

}public class order

public static void main(string args)

}程式執行時:裝載

order.class,

執行order

類中的static

塊static cupboard t1 = new cupboard();

這構造了乙個

cupboard物件,

構造物件時

,會裝載

cupboard類,

也是先執行

static

塊static bowl b2 = new bowl(2);//

建立乙個

bowl物件,

過程和cupboard一樣,

會呼叫建構函式

static bowl b3 = new bowl(3);//

同上然後執行

bowl b1 = new bowl(1);//

建立乙個

bowl

物件然後執行建構函式

bowl()

接下來:

static table t2;//

這只是宣告

,並沒有建立物件

,不用理會然後:

執行main

函式中的語句

system.out.println("creating new cupboard() in main");

new cupboard(); //

注意的是

,static

只會初始化一次

system.out.println("creating new cupboard() in main");

order od = new order();//

建立order物件,

同上od.t3.f1();

table t4 = new table("aa",1);//

建立了table,

注意這裡建構函式的呼叫

this()

就可以(

需要了解過載)  

學習筆記 java初始化順序

class bowl void f1 class cupboard static bowl b3 new bowl 3 class table table string a,int i public class order public static void main string args 程式...

java初始化順序

1 父類靜態成員和靜態初始化塊 按在 中出現的順序依次執行 2 子類靜態成員和靜態初始化塊 按在 中出現的順序依次執行 3 父類例項成員和例項初始化塊 按在 中出現的順序依次執行 4 父類構造方法 5 子類例項成員和例項初始化塊 按在 中出現的順序依次執行 6 子類構造方法 public abstr...

java初始化順序

例如以下 package chapter5 public class demo1one public void printinfo public static void main string args 程式一開始先執行 private static string password 0721 這行 ...