Java中創建對象的四種方式

四種方式:

http://wenku.baidu.com/link?url=mv6VbMd3d-aCkbGMhn6rbLwFbef7v60nRbyA-thP6Y7hqtjiv0K0_kdtfOWaUjdPiFZ0u8U6XWJ4b3pDVxmTTj6NqMC2E4-dcCLmQ_IgS3C


java創建對象初始化過程(句柄):http://zhangjunhd.blog.51cto.com/113473/17124/


http://blog.sina.com.cn/s/blog_687ab1d70100r9gv.html


對象的創建過程:

1. 所有的類都是在對其第一次使用時,動態加載到JVM中。當首次創建類型爲Dog的對象時,或者Dog類的靜態方法,靜態屬性域首次被訪問時,java解釋器查找classPath,定位到Dog.class文件

 

2. 載入Dog.class文件,生成一個Class類型對象,所有有關的靜態初始化動作都會執行,靜態代碼塊,靜態成員屬性。 並且這種初始化動作只在Class對象首次加載時候進行一次。

 

3. 當用new Dog()創建對象時,首先JVM在堆heap上爲Dog對象分配足夠的存儲空間

 

4. 存儲空間清空,自動將Dog對象中的所有基本類型數據都設置成了默認值,對象引用被設置爲null

 

5. 執行所有在字段定義處的一些初始化操作

 

6. 調用構造器方法。(沒有繼承)

 

如此一來,便創建了這個對象.



如果有繼承 則在第6步:歸調用構造器執行構造方法

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