iT邦幫忙

DAY 22
4

初學Java系列 第 20

Day23.life與scope

life & scope
[life]
區域變數只會存活在宣告該變數的method中,會活到method執行完畢為止,只要她還活著,他的狀態就會被保存

[scope]
區域變數其範圍只限於宣告他的method內,當他的method呼叫別的method時,此區域變數雖然還活著(life),但是並不在目前的範圍內(scope),要等到當其他method都執行完畢return回來此method時,scope才會跟著回來

[參考變數影響object's life]
如果沒有任何對某object的參考變數了,則此object再也不會被用到,換句話說,此object便沒有存在的意義了,只會浪費掉記憶體空間

所以當某object的參考死亡,object就會被heap利用garbage collection在記憶體不構的時候部分或全部回收掉

[解散object的參考]
1.參考變數0離開scope,也就是當參考便樹存在的method結束時,ex.

void eat(){
  Human a = new Human();    //會在method結束時死亡
}

2.參考指向別的object時,ex.

Human a = new Human();
a = new Human();

3.參考直接被設為null,ex.

Human a = new Human();
a = null;

上一篇
Day22.constructor與this()
系列文
初學Java20

尚未有邦友留言

立即登入留言