首頁  >  文章  >  Java  >  java中的靜態是什麼?如何理解?

java中的靜態是什麼?如何理解?

王林
王林原創
2019-11-12 16:34:095632瀏覽

java中的靜態是什麼?如何理解?

在Java語言中,static表示「靜態」的意思,使用場景可以用來修飾成員變數和成員方法,當然也可以是靜態程式碼區塊。 static的主要作用在於建立獨立於具體物件的領域變數或方法。

格式:

修飾變數:static 資料類型變數名稱

修飾方法:【存取權限修飾符】 static 方法傳回值方法名稱(參數清單)

特點:

1、static可以修飾變數和方法;

2、被static修飾的變數或方法是獨立於該類別的任何對象,也就是說,這些變數和方法不屬於任何一個實例對象,而是被類別的實例對象所共享;

3、在類別被載入的時候,就會去載入被static修飾的部分;

4、被static修飾的變數或方法是優先於物件存在的,也就是說當一個類別載入完畢之後,即便沒有創建對象,也可以去存取。

靜態變數和實例變數的差異:

實例變數:每次建立對象,都會為每個物件分配成員變數記憶體空間,實例變數是屬於實例對象的,在記憶體中,創建幾次對象,就有幾份成員變數。

靜態變數:靜態變數由於不屬於任何實例對象,是屬於類別的,所以在記憶體中只會有一份,在類別的載入過程中,JVM為靜態變數分配一次記憶體空間。

應用程式場景:

如果某個成員變數是被所有物件所共享的,那麼這個成員變數就應該定義為靜態變數。

注意事項:

1、在靜態方法中沒有this關鍵字,因為靜態是隨著類別的載入而加載,而this是隨著物件的創建而存在的。靜態比物件優先存在。

2、靜態可以存取靜態的,但是靜態不能存取非靜態的。

3、非靜態的可以去存取靜態的。

推薦教學:Java教學

以上是java中的靜態是什麼?如何理解?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn