2 回答

TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超11個(gè)贊
實(shí)例字段要實(shí)例化才能使用,沒有實(shí)例化不能使用。靜態(tài)字段反之
普通字段要在實(shí)例化時(shí)候才分配內(nèi)存空間,而靜態(tài)字段在裝載程序集的時(shí)候就分配內(nèi)存空間了

TA貢獻(xiàn)1877條經(jīng)驗(yàn) 獲得超1個(gè)贊
字段是什么?從學(xué)JAVA開始就沒聽說過叫字段的說法。。。。。
你要么叫變量,要么叫屬性,我暫且理解你說的字段就是變量,靜態(tài)變量和實(shí)例變量,
語法區(qū)別:靜態(tài)變量需要static關(guān)鍵字修飾,實(shí)例變量不需要。
程序運(yùn)行時(shí)的區(qū)別:靜態(tài)變量從屬于類,實(shí)例變量從屬于對(duì)象。
實(shí)例變量必須創(chuàng)建了實(shí)例對(duì)象,其中的實(shí)例變量才會(huì)被分配空間,才能使用這個(gè)實(shí)例變量;
靜態(tài)變量即類別量,只要程序加載了類的字節(jié)碼,靜態(tài)變量就會(huì)被分配空間,即可使用。
綜上,實(shí)例變量必須創(chuàng)建對(duì)象后通過這個(gè)對(duì)象來使用,靜態(tài)變量可以直接使用類名來引用
你先搞清楚實(shí)例變量的聲明周期自然就知道了jvm的原理跟線程問題
多線程不需要等待實(shí)例用完,多線程跟實(shí)例用不用完沒什么關(guān)系
new幾個(gè)對(duì)象就會(huì)在內(nèi)存中分配幾個(gè)空間,堆和棧的關(guān)系你去搞清楚
添加回答
舉報(bào)