java中的靜態是什么?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
在Java語言中,static表示“靜態”的意思,使用場景可以用來修飾成員變量和成員方法,當然也可以是靜態代碼塊。static的主要作用在于創建獨立于具體對象的域變量或者方法。
格式:
修飾變量:static 數據類型 變量名
修飾方法:【訪問權限修飾符】 static 方法返回值 方法名(參數列表)
特點:
1、static可以修飾變量和方法;
2、被static修飾的變量或者方法是獨立于該類的任何對象,也就是說,這些變量和方法不屬于任何一個實例對象,而是被類的實例對象所共享;
3、在類被加載的時候,就會去加載被static修飾的部分;
4、被static修飾的變量或者方法是優先于對象存在的,也就是說當一個類加載完畢之后,即便沒有創建對象,也可以去訪問。
靜態變量和實例變量的區別:
實例變量:每次創建對象,都會為每個對象分配成員變量內存空間,實例變量是屬于實例對象的,在內存中,創建幾次對象,就有幾份成員變量。
靜態變量:靜態變量由于不屬于任何實例對象,是屬于類的,所以在內存中只會有一份,在類的加載過程中,JVM為靜態變量分配一次內存空間。
應用場景:
如果某個成員變量是被所有對象所共享的,那么這個成員變量就應該定義為靜態變量。
注意事項:
1、在靜態方法中沒有this關鍵字,因為靜態是隨著類的加載而加載,而this是隨著對象的創建而存在的。靜態比對象優先存在。
2、靜態可以訪問靜態的,但是靜態不能訪問非靜態的。
3、非靜態的可以去訪問靜態的。
關于java中的靜態是什么問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。