Java基礎知識之對象初始化過程

我們知道當使用new關鍵字創建一個對象的時候,會調用相應的構造函數對該對象進行初始化,那麼這個過程中到底都還有什麼事情呢?

先看一段代碼:


當執行語句:

Student stu = new Student("zhangsan",17);

執行該語句的時候在內存中程序都做了什麼事情,讓我們一一列舉出來:

1、因爲new用到了Student.class,所以會先找到Student.class文件並加載到內存中。

2、如果有的話,執行該類中的static靜態代碼塊,給Student.class類進行初始化。

3、在堆內存中開闢空間,分配內存地址。

4、在堆內存中建立對象的特有屬性,並進行默認初始化。

5、對屬性進行顯示初始化。

6、對對象進行構造代碼塊初始化。

7、對對象進行相應的構造函數初始化。

8、將內存地址賦給棧內存中的stu變量。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章