1. 程式人生 > >成員變數和靜態變數的區別

成員變數和靜態變數的區別

成員變數和靜態變數的生命週期:
成員變數隨著物件的建立而存在,物件回收就被釋放。

靜態變數隨著類的載入而存在,類消失靜態變數就消失。

呼叫方式不同:
成員變數只能被物件呼叫
靜態變數可以被物件呼叫,還可以被類名呼叫。


別名不同:
成員變數也稱為例項變數。
靜態變數也成為類變數。

資料儲存位置不同:
成員變數儲存在堆記憶體的物件中,所以也叫物件的特有資料。
靜態變數資料儲存在方法區(共享資料區)的靜態去,所以也叫物件的共享資料,

static關鍵字是一個修飾符,用於修飾成員變數和成員函式。

靜態方法只能訪問靜態成員,不可以訪問非靜態成員。
ing為靜態方法載入時,優先於物件存在,所以沒有辦法訪問物件中的成員。

靜態方法中不能使用this,super關鍵字。
因為this代表物件,而靜態在時,有可能沒有物件,所以this無法使用。