1. 程式人生 > >成員變量、類變量、局部變量的區別

成員變量、類變量、局部變量的區別

left 調用 strong 靜態方法 方法 靜態變量 默認 nbsp 關鍵字

:成員變量和局部變量的區別

1、範圍:

員變量定義在類中,在整個類中都可以被訪問。

局部變量定義在局部範圍內,如:函數內,語句內等。

2、存儲:

成員變量隨著對象的建立而建立,隨著對象的消失而消失,存在於對象所在的堆內存中。

局部變量存在於棧內存中,作用的範圍結束,變量空間會自動釋放。

3、默認值:

成員變量有默認初始化值; 局部變量沒有默認初始化值 。

二:成員變量和靜態變量的區別:

1、成員變量存在於堆內存中。

靜態變量存在於方法區中。

2、成員變量所屬於對象。所以也稱為實例變量。

靜態變量所屬於類。所以也稱為類變量。

3、成員變量隨著對象創建而存在。隨著對象被回收而消失。

靜態變量隨著類的加載而存在。隨著類的消失而消失。

4、成員變量只能被對象所調用 。

靜態變量可以被對象調用,也可以被類名調用。

註意:

1、 如果局部變量的名字和成員變量的名字相同, 要想在該方法中

2、 靜態方法只能訪問靜態成員,不可以訪問非靜態成員。

因為靜態方法加載時,優先於對象存在,所以沒有辦法訪問對象中的成員。

3、靜態方法中不能使用this,super關鍵字。

因為this代表對象,而靜態在時,有可能沒有對象,所以this無法使用。

成員變量、類變量、局部變量的區別