1. 程式人生 > >成員變數(例項變數)&區域性變數&靜態變數(類變數)的區別

成員變數(例項變數)&區域性變數&靜態變數(類變數)的區別

成員變數(例項變數)&區域性變數&靜態變數(類變數)的區別

成員變數(例項變數)&區域性變數區別:

(1)作用域
成員變數:針對整個類有效。
區域性變數:只在某個範圍內有效。(一般指的就是方法,語句體內)
(2)儲存位置
成員變數:隨著物件的建立而存在,隨著物件的消失而消失,儲存在堆記憶體中。
區域性變數:在方法被呼叫,或者語句被執行的時候存在,儲存在棧記憶體中。
當方法呼叫完,或者語句結束後,就自動釋放。
(3)初始值
成員變數:有預設初始值。
區域性變數:沒有預設初始值,使用前必須賦值。

成員變數(例項變數)&靜態變數(類變數)區別:

A:呼叫方式


靜態變數也稱為類變數,可以直接通過類名呼叫。也可以通過物件名呼叫。
這個變數屬於類。
成員變數也稱為例項變數,只能通過物件名呼叫。這個變數屬於物件。
B:儲存位置
靜態變數儲存在方法區長中的靜態區。
成員變數儲存在堆記憶體。
C:生命週期
靜態變數隨著類的載入而存在,隨著類的消失而消失。生命週期長。
成員變數隨著物件的建立而存在,隨著物件的消失而消失。
D:與物件的相關性
靜態變數是所有物件共享的資料。
成員變數是每個物件所特有的資料。