一、static關鍵字的特點
(1)修飾成員變量、成員方法
(2)隨着類的加載而加載
(3)優先於對象存在
(4)被所有對象共享
(5)可以通過類名調用
它本身也可以通過對象名調用
例如:main()方法由java虛擬機調用,不需要創建對象,他是一個靜態方法
二、什么時候使用靜態?
如果某個成員變量是被所有對象共享的,那么它應該被定義為靜態的。
三、類成員和對象成員
靜態修飾的內容一般我們稱其為:與類相關的,類成員
非靜態修飾的內容一般我們稱其為:與對象相關的,對象成員
四、注意事項
(1)靜態方法沒有this關鍵字
(2)靜態方法只能訪問靜態成員變量和靜態成員方法
五、靜態變量和成員變量的區別
(1)所屬不同:靜態變量屬於類,成為類變量;
成員變量屬於對象,稱為對象變量
(2)內存中位置不同:靜態變量位於方法區中的靜態區
成員變量存儲於堆內存
(3)內存出現時間不同:靜態變量隨着類的加載而加載,隨着類的小說而消失
成員變量隨着對象的創建而存在
(4)調用不同:靜態變量可以通過類名調用,也可以通過對象名調用
成員變量只能通過對象名調用