天天看點

Java 類變量和類方法

類變量(靜态變量):

static變量是對象共享,不管static變量在哪:

(1)static是同一個類所有對象共享

(2)static類變量,在加載的時候就生成了

位置:

JDK7以前放在方法區的靜态域中

JDK7以後放在靜态域中,靜态域存儲于定義類型的Class對象中,Class對象如同隊中其他對象一樣,存在于GC堆中

文法:

通路修飾符 static 資料類型 變量名

通路: 類名.類變量名/對象名.類變量名

什麼時候需要類變量:

當需要某個類的所有對象都需要共享一個變量的時候,就可以考慮使用類變量(靜态變量)

類變量和執行個體變量差別:

一個類對象共享,一個是每個對象獨享

類變量在類加載時就初始化了,也就是說,即使沒有建立獨享,隻要類加載了,就可以使用類變量了

類變量的生命周期是随類的加載開始,随着類消亡而銷毀

什麼時候使用類方法:

當方法中不涉及任何和對象相關的成員,則可以将方法設計成靜态方法,提高開發效率

類方法不允許使用和對象相關的關鍵字,比如this和super

類方法隻能通路靜态變量和靜态方法

普通方法可以通路普通/靜态的變量/方法

靜态方法隻能通路靜态成員

Java 類變量和類方法