Java靜態變數和非靜態變數

2021-09-24 09:17:05 字數 278 閱讀 6710

記憶體分配:靜態方法和靜態變數建立之後一直使用同一塊記憶體,是連續的。非靜態方法會存在於記憶體的多個地方,是離散的。

生命週期:靜態變數的生存週期是應用的生存週期。非靜態變數的存在週期取決於例項化的類的存在週期。

呼叫方式:靜態變數只能是「class.靜態變數」來呼叫,類的例項不能呼叫。非靜態變數在變數所在的類例項化後才可以通過例項化的類名訪問。

共享方式:靜態變數時全域性變數,執行緒安全。非靜態變數是區域性變數,執行緒不安全。

訪問方式:靜態成員不能訪問非靜態成員,非靜態成員可以訪問靜態成員。

靜態變數和非靜態變數

class string1 a和b編譯報錯,can not make a static referrence to no static filed s3,s4 分析 string s1 pingguo string s2 xiangjiao string s3 new string lizi str...

java 靜態變數 與 非靜態變數

一 建立乙個類的物件時 new 類名 時,該類的.class檔案會被載入到一段記憶體中。1.先將該類的.class檔案會被載入到一段記憶體,初始化static屬性和方法,為他們分配空間,以後一直在記憶體中,即使這個物件被銷毀。這就是不建議使用static屬性和方法的原因之一 2.copy其中非sta...

靜態變數,非靜態變數和final變數

package com.founder.bg.quartz.job 7 在程式執行時的區別 例項變數屬於某個物件的屬性,必須建立了例項物件,8 其中的例項變數才會被分配空間,才能使用這個例項變數。靜態變數不屬於某 9 個例項物件,而是屬於類,所以也稱為類變數,只要程式載入了類的位元組碼,10 不用建...