1.student stu = null;
2.student stu = new student():
執行程式:
程式走到1時,stu存在在棧中,不存在類載入以及student類初始化屬性的行為。
程式走到2時,student類首先會被jvm所載入,載入的同時載入靜態的屬性(1),方法(2)到方法區,執行靜態**塊(3)
(靜態**塊最後執行,並且只會執行一次,而非靜態**塊可以執行多次)
類載入完成之後jvm會在堆記憶體中開闢空間,執行屬性的預設初始化(1),之後執行非靜態**塊(2),最後執行建構函式(3)。
java物件初始化過程
假設有一下類 class test test int n 0 我們知道,任何物件在使用前都會被初始化,方法裡面的區域性變數必須給初始化值才能通過編譯。現在我們來討論一下初始化的過程 對於字段 變數 而言,如果是基本型別,那麼即使不給初始值,都會得到jvm預設的初始值 boolean預設是false,...
java物件的初始化順序
物件初始化流程 我們根據一段 來分析物件初始化流程 基類包含一靜態變數 包含一例項變數 包含乙個靜態初始化塊以及乙個構造子 class base public base 一級子類和基類包含的內容一樣 class superclass extends base static public static...
java 類物件的初始化
類物件的初始化 1.static成員變數的初始化 2.static塊的初始化 與實際在 中的位置有關 3.例項成員變數的初始化 4.例項塊的初始化 與實際在 中的位置有關 5.建構函式 建構函式 可以過載 無返回值 如果你沒有寫建構函式,系統會給出缺省建構函式,如果已經寫了,則呼叫建構函式不符時會出...