new乙個物件的過程

2021-09-23 20:23:18 字數 481 閱讀 3507

使用new關鍵字呼叫函式(new classa(…))的具體步驟:

1. 建立空物件;

var obj = {};

2. 設定新物件的constructor屬性為建構函式的名稱,設定新物件的__proto__屬性指向建構函式的prototype物件;

obj._ proto_ = classa.prototype;

3. 使用新物件呼叫函式,函式中的this被指向新例項物件:

classa.call(obj);  //{}.建構函式();

4. 將初始化完畢的新物件位址,儲存到等號左邊的變數中

注意:若建構函式中返回this或返回值是基本型別(number、string、boolean、null、undefined)的值,則返回新例項物件;若返回值是引用型別的值,則實際返回值為這個引用型別。

new乙個物件的過程

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

new乙個物件的過程

1.靜態 塊 2.預設初始化 3.構造 塊 4.構造方法 靜態 塊先執行,構造 塊執行,物件內執行 class person static public class persondemo2 執行結果 列印 靜態 塊1 構造 塊2 建構函式3 class a public void a string ...

new乙個物件的過程

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