成員變量、類變量、局部變量的區別
阿新 • • 發佈:2017-07-20
left 調用 strong 靜態方法 方法 靜態變量 默認 nbsp 關鍵字
一:成員變量和局部變量的區別
1、範圍:
員變量定義在類中,在整個類中都可以被訪問。
局部變量定義在局部範圍內,如:函數內,語句內等。
2、存儲:
成員變量隨著對象的建立而建立,隨著對象的消失而消失,存在於對象所在的堆內存中。
局部變量存在於棧內存中,作用的範圍結束,變量空間會自動釋放。
3、默認值:
成員變量有默認初始化值; 局部變量沒有默認初始化值 。
二:成員變量和靜態變量的區別:
1、成員變量存在於堆內存中。
靜態變量存在於方法區中。
2、成員變量所屬於對象。所以也稱為實例變量。
靜態變量所屬於類。所以也稱為類變量。
3、成員變量隨著對象創建而存在。隨著對象被回收而消失。
靜態變量隨著類的加載而存在。隨著類的消失而消失。
4、成員變量只能被對象所調用 。
靜態變量可以被對象調用,也可以被類名調用。
註意:
1、 如果局部變量的名字和成員變量的名字相同, 要想在該方法中
2、 靜態方法只能訪問靜態成員,不可以訪問非靜態成員。
因為靜態方法加載時,優先於對象存在,所以沒有辦法訪問對象中的成員。
3、靜態方法中不能使用this,super關鍵字。
因為this代表對象,而靜態在時,有可能沒有對象,所以this無法使用。
成員變量、類變量、局部變量的區別