在Java語言中,static表示「靜態」的意思,使用場景可以用來修飾成員變數和成員方法,當然也可以是靜態程式碼區塊。 static的主要作用在於建立獨立於具體物件的領域變數或方法。
格式:
修飾變數:static 資料類型變數名稱
修飾方法:【存取權限修飾符】 static 方法傳回值方法名稱(參數清單)
特點:
1、static可以修飾變數和方法;
2、被static修飾的變數或方法是獨立於該類別的任何對象,也就是說,這些變數和方法不屬於任何一個實例對象,而是被類別的實例對象所共享;
3、在類別被載入的時候,就會去載入被static修飾的部分;
4、被static修飾的變數或方法是優先於物件存在的,也就是說當一個類別載入完畢之後,即便沒有創建對象,也可以去存取。
靜態變數和實例變數的差異:
實例變數:每次建立對象,都會為每個物件分配成員變數記憶體空間,實例變數是屬於實例對象的,在記憶體中,創建幾次對象,就有幾份成員變數。
靜態變數:靜態變數由於不屬於任何實例對象,是屬於類別的,所以在記憶體中只會有一份,在類別的載入過程中,JVM為靜態變數分配一次記憶體空間。
應用程式場景:
如果某個成員變數是被所有物件所共享的,那麼這個成員變數就應該定義為靜態變數。
注意事項:
1、在靜態方法中沒有this關鍵字,因為靜態是隨著類別的載入而加載,而this是隨著物件的創建而存在的。靜態比物件優先存在。
2、靜態可以存取靜態的,但是靜態不能存取非靜態的。
3、非靜態的可以去存取靜態的。
推薦教學:Java教學
以上是java中的靜態是什麼?如何理解?的詳細內容。更多資訊請關注PHP中文網其他相關文章!