類變量(靜态變量):
static變量是對象共享,不管static變量在哪:
(1)static是同一個類所有對象共享
(2)static類變量,在加載的時候就生成了
位置:
JDK7以前放在方法區的靜态域中
JDK7以後放在靜态域中,靜态域存儲于定義類型的Class對象中,Class對象如同隊中其他對象一樣,存在于GC堆中
文法:
通路修飾符 static 資料類型 變量名
通路: 類名.類變量名/對象名.類變量名
什麼時候需要類變量:
當需要某個類的所有對象都需要共享一個變量的時候,就可以考慮使用類變量(靜态變量)
類變量和執行個體變量差別:
一個類對象共享,一個是每個對象獨享
類變量在類加載時就初始化了,也就是說,即使沒有建立獨享,隻要類加載了,就可以使用類變量了
類變量的生命周期是随類的加載開始,随着類消亡而銷毀
什麼時候使用類方法:
當方法中不涉及任何和對象相關的成員,則可以将方法設計成靜态方法,提高開發效率
類方法不允許使用和對象相關的關鍵字,比如this和super
類方法隻能通路靜态變量和靜态方法
普通方法可以通路普通/靜态的變量/方法
靜态方法隻能通路靜态成員
