person p = new person("zhangsan",20);
執行該語句時虛擬機器做了什麼事情?
1.、因為new用到了person.class檔案,所以會先找到該檔案載入到記憶體中;
2、執行該類中的static**塊(如果有的話),給person.class類進行初始化;
3、在堆記憶體中開闢空間,分配記憶體位址;
4、在堆記憶體中建立物件的特有屬性,並進行預設初始化;
5、對物件進行顯示初始化;
6、對物件進行構造**塊初始化;
7、對物件進行對應的建構函式初始化;
8、將堆記憶體中的位址賦給棧記憶體中的p變數;
java物件初始化過程
假設有一下類 class test test int n 0 我們知道,任何物件在使用前都會被初始化,方法裡面的區域性變數必須給初始化值才能通過編譯。現在我們來討論一下初始化的過程 對於字段 變數 而言,如果是基本型別,那麼即使不給初始值,都會得到jvm預設的初始值 boolean預設是false,...
Java 初始化過程
初始化過程 載入器啟動並且找出匯出類derived的編譯 即名為derived.class的檔案之中 在對它載入的過程中,編譯器注意到它有乙個基類,於是繼續進行基類的載入 基類中的static變數初始化,然後是匯出類的static 如果乙個成員被宣告為 static,它就能夠在它的類的任何物件建立之...
java 初始化過程
初始化的過程 static靜態塊 父類的靜態塊 子類的靜態塊 父類的初始化塊 父類的建構函式 子類的初始化塊 子類的建構函式 舉例說明 class helloa static public class hellob extends helloa static public static void m...