亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么VolatileDemo要加final修飾?

為什么VolatileDemo要加final修飾?

正在回答

3 回答

因為生命周期的原因。方法中的局部變量,方法結束后這個變量就要釋放掉,final保證這個變量始終指向一個對象。
首先,內部類和外部類其實是處于同一個級別,內部類不會因為定義在方法中就會隨著方法的執行完畢而跟隨者被銷毀。問題就來了,如果外部類的方法中的變量不定義final,那么當外部類方法執行完畢的時候,這個局部變量肯定也就被GC了,然而內部類的某個方法還沒有執行完,這個時候他所引用的外部變量已經找不到了。如果定義為final,Java會將這個變量復制一份作為成員變量內置于內部類中,這樣的話,由于final所修飾的值始終無法改變,所以這個變量所指向的內存區域就不會變。

3 回復 有任何疑惑可以回復我~
#1

檸檬醬c

明明是中文,我咋讀了幾遍都沒看懂捏?=_=
2017-08-17 回復 有任何疑惑可以回復我~

客氣,共同學習么。。、

0 回復 有任何疑惑可以回復我~

懂了,謝謝大神! ^_^

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么VolatileDemo要加final修飾?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號