關於Java static 的面試題和答案

才智咖 人氣:2.24W

1、”static”關鍵字是什麼意思?Java中是否可以覆蓋(override)一個private或者是static的方法?

關於Java static 的面試題和答案

“static”關鍵字表明一個成員變數或者是成員方法可以在沒有所屬的類的例項變數的情況下被訪問。

Java中static方法不能被覆蓋,因為方法覆蓋是基於執行時動態繫結的,而static方法是編譯時靜態繫結的。static方法跟類的任何例項都不相關,所以概念上不適用。

2、是否可以在static環境中訪問非static變數?

static變數在Java中是屬於類的,它在所有的例項中的值是一樣的`。當類被Java虛擬機器載入的時候,會對static變數進行初始化。如果你的程式碼嘗試不用例項來訪問非static的變數,編譯器會報錯,因為這些變數還沒有被創建出來,還沒有跟任何例項關聯上。