天天看點

Java類的靜态變量和執行個體變量

類的成員變量有2種:一種是被static關鍵字修飾的變量,叫類變量或靜态變量,另一種是沒有被static關鍵字修飾的變量,叫執行個體變量。

靜态變量和執行個體變量的差別在于:

1.類的靜态變量在記憶體中隻有一個,Java虛拟機在加載類的過程中為靜态變量配置設定記憶體,靜态變量位于演繹法我,被類的所有執行個體共享。

靜态變量可以直接通過類名被通路。靜态變量的生命周期取決于類的生命周期,當加載類的時候靜态變量被建立并配置設定記憶體,

當解除安裝類的時候,靜态變量被銷毀并撤銷所占記憶體。

2.類的每個執行個體都有相應的執行個體變量。每建立一個類的執行個體,Java虛拟機就會為執行個體變量配置設定一次記憶體,執行個體變量位于堆區中。

執行個體變量的生命周期取決于執行個體的生命周期,當建立執行個體的時候,執行個體變量被建立并配置設定記憶體,當銷毀執行個體的時候,執行個體變量

被銷毀并撤銷所占記憶體。