謝邀~
和大家分享一下我對Java中static關鍵字的理解(
什么是static
static作為Java一個重要的關鍵字,主要的作用是:
static修飾變量
有人喜歡把static修飾的變量稱作全局變量,但實際上,
全局變量應該拿著變量的名字就能使用的,但是Java中都是:類名().變量名;這樣使用的;
當JVM加載一個類的時候, 如果這個類存在static修飾的變量或方法,則會為這些變量或方法在內存中固定的位置開辟一個固定大小的區域,因為這些“固定”,所以看起來是全局的。
static修飾方法
被static修飾的方法,我們一般稱作靜態方法。
類名().方法();也就
避免了new對象資源消耗; 靜態方法不依賴對象就能訪問,因此對于
靜態方法是沒有this的; 靜態方法中不能訪問非靜態變量和非靜態方法。
靜態代碼塊
如果一些代碼需要在項目啟動的時候就執行,那么就必須使用靜態代碼塊了。
靜態代碼塊會隨著類加載而加載; 如果有多個靜態代碼塊,那么會按前后順序加載; 一個靜態代碼塊,只會執行一次; 靜態代碼塊不能存在于任何方法體中。