Static 相關(guān)問題

2018-07-03 14:45 更新

Static 關(guān)鍵字是什么意思?

Static 關(guān)鍵字表明一個成員變量或者是成員方法可以在沒有所屬的類的實例的情況下直接被訪問

是否可以 override 一個 static 的方法?

不能被覆蓋. 因為方法覆蓋是基于運行時動態(tài)綁定的, 而 static 方法是編譯時靜態(tài)綁定的.

一個 static 方法內(nèi)部調(diào)用非 static 方法?

不可以. 因為非 static 方法是要與對象關(guān)聯(lián)在一起的, 須創(chuàng)建一個對象的實例后, 才可以在該對象上進行方法調(diào)用, 而static方法調(diào)用時不需要創(chuàng)建對象, 可以直接調(diào)用. 也就是說, 當(dāng)一個 static 方法被調(diào)用時, 可能還沒有創(chuàng)建任何實例對象, 如果從一個 static 方法中發(fā)出對非 static 方法的調(diào)用, 那個非 static 方法是關(guān)聯(lián)到哪個對象上的呢? 這個邏輯無法成立, 所以, 一個 static 方法內(nèi)部發(fā)出對非 static 方法的調(diào)用.

是否可以在 static 環(huán)境中訪問非 static 變量?

同上

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號