new乙個物件的過程

2021-07-12 05:19:49 字數 646 閱讀 4272

1.靜態**塊

2.預設初始化

3.構造**塊

4.構造方法

//靜態**塊先執行,構造**塊執行,物件內執行

class person

static

}public class persondemo2

}執行結果:列印

靜態**塊1

構造**塊2

建構函式3

class a

public void a(string name,int age)

}class b

}

執行順序:

1 因為new用到了 a.class, 所以會先找到a.class檔案並載入到記憶體中

2 執行該類中的static**塊,如果有的話,給a.class類進行初始化。

3 在堆記憶體中開闢空間,分配記憶體位址

4 在堆記憶體中建立物件的特有屬性,並進行預設初始化(name = null, age =0)

5 對屬性進行顯示初始化(name = "zh2")

6 對物件進行構造**塊初始化

7 對物件進行對應的建構函式初始化

8 將記憶體位址付給佔記憶體中的a變數

new乙個物件的過程

class a public void a string name,int age class b 執行順序 1 因為new用到了 a.class,所以會先找到a.class檔案並載入到記憶體中 2 執行該類中的static 塊,如果有的話,給a.class類進行初始化。3 在堆記憶體中開闢空間,分...

new乙個物件的過程

使用new關鍵字呼叫函式 new classa 的具體步驟 1.建立空物件 var obj 2.設定新物件的constructor屬性為建構函式的名稱,設定新物件的 proto 屬性指向建構函式的prototype物件 obj.proto classa.prototype 3.使用新物件呼叫函式,函...

new乙個物件的過程

看一行 singleton instance newsingleton 在編譯這行 的時候,jvm實際上會分為三個步驟 1 宣告乙個引用變數instancesingleton instance告訴編譯器宣告乙個instance 這樣的singleton 型別的引用變數,其價值將待定,直到有乙個物件真...