Java 對象初始化,java對象初始化

來源:互聯網
上載者:User

Java 對象初始化,java對象初始化
 

對象A的建立過程:

   

1. 構造器實際上是靜態方法,所以,當首次建立對象A 或者 A類的靜態方法/靜態域首次被訪問時,Java解譯器尋找類路徑,以位

   

    A.class檔案。

   

2. 載入A.class,有關靜態初始化的所有動作都會執行()。因此,靜態初始化只在Class對象首次載入的時候進行一次。

   

3. 當用new A()建立對象時,首先在堆上為A對象分配足夠的儲存空間。

   

4. 這個儲存空間會被清零,這樣就自動將A對象的所有基本類型資料設定成了預設值,引用則被設定成了null。

   

5. 執行所有出現於欄位定義處的初始化工作。

   

6. 執行構造器。

 

屬性、方法、構造方法和自由塊都是類中的成員,在建立類的對象時,類中各成員的執行順序:

   

1. 父類靜態成員和靜態初始化快,按代碼出現的順序依次執行。
2. 子類靜態成員和靜態初始化塊,按代碼出現的順序依次執行。
3. 父類的執行個體成員和執行個體初始化塊,按代碼出現的順序依次執行。
4. 父類的構造方法(如果沒有明確指出調用某個父類的構造器,就會預設調用父類預設構造器,如果不存在預設構造器,編譯器會出

     錯)
5. 子類執行個體成員和執行個體初始化塊,按代碼出現的順序依次執行。
6. 子類的構造方法。

 

 

編寫構造器的一條有效準則:(Java編程思想第四版中文P163)

“用儘可能簡單的方法使對象進入正常狀態,如果可以的話,避免調用其他方法”,在構造器內唯一能夠安全調用的哪些方法是基類中的final方法。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.