類變數 例項變數的初始化順序

2021-06-22 06:50:14 字數 586 閱讀 2000

類變數、例項變數的初始化比較相似,對於例項變數有乙個例子

public

class

ramtest 

public

ramtest(

double

price)

doubleprice = 2.0;//③--宣告語句並賦值

}本例中對例項變數price的初始化有三處

執行順序為:

--③中price變數宣告[price=0.0]

--①中price變數賦值[price=3.4]

--③中price變數賦值[price=2.0]

--②中price建構函式賦值

需要注意的是,雖然非靜態語句初始塊中的price變數的賦值在宣告之前,但實際上執行的時候會先執行變數的宣告,再按**順序執行變數值的賦值動作,然後再進行建構函式對例項的初始化構造。

這三種例項變數的初始化語句經過編譯器處理後,都會合併到構造器中去,其中定義變數語句轉換得到的賦值語句、初始化塊中的語句轉化得到的賦值語句,

總是位於構造器的所有語句之前

。合併後兩種賦值語句的順序保持他們在原始碼中的順序。

變數初始化順序

1 變數定義的先後順序決定初始化順序,即使變數定義散布在方法定義之間,他們仍舊會在方法被呼叫之前得到初始化,構造方法也是特殊的方法 2 執行順序 靜態塊,靜態變數,非靜態變數,構造方法 每次在建立物件的時候非靜態變數都會被初始化 靜態物件只會在類載入的時候被初始化一次 public class in...

java 類變數和例項變數的初始化

例項變數的初始化 class wechat string name 表白大師 當new乙個物件出來時,name會是什麼呢wechat wechat new wechat 搖滾英語 執行過程中name的值是怎麼變化的呢,搞清這一點,對例項化變數的初始化也就了解的夠深了,name 表白大師 name 搖...

變數初始化順序及類的載入順序

綜合 先載入類 靜態欄位及靜態 塊 若有則執行主函式main 預設初始化域 執行構造方法 隱式初始化域和 塊,再執行構造器的主體 呼叫方法 4 執行子類的建構函式,建構函式來執行初始化。其中子類的建構函式 第一件事是呼叫基類的建構函式。第二件事是 隱式初始化域和 塊 接著才是執行構造器的主體。子類的...