Java中Static關鍵字詳解以及靜態變量和成員變量的區別


一、static關鍵字的特點

(1)修飾成員變量、成員方法
(2)隨着類的加載而加載
(3)優先於對象存在
(4)被所有對象共享
(5)可以通過類名調用
它本身也可以通過對象名調用
例如:main()方法由java虛擬機調用,不需要創建對象,他是一個靜態方法

二、什么時候使用靜態?

如果某個成員變量是被所有對象共享的,那么它應該被定義為靜態的。

三、類成員和對象成員

靜態修飾的內容一般我們稱其為:與類相關的,類成員
非靜態修飾的內容一般我們稱其為:與對象相關的,對象成員

四、注意事項

(1)靜態方法沒有this關鍵字
(2)靜態方法只能訪問靜態成員變量和靜態成員方法

五、靜態變量和成員變量的區別

(1)所屬不同:靜態變量屬於類,成為類變量;
成員變量屬於對象,稱為對象變量
(2)內存中位置不同:靜態變量位於方法區中的靜態區
成員變量存儲於堆內存
(3)內存出現時間不同:靜態變量隨着類的加載而加載,隨着類的小說而消失
成員變量隨着對象的創建而存在
(4)調用不同:靜態變量可以通過類名調用,也可以通過對象名調用
成員變量只能通過對象名調用


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM