成員變數與區域性變數的區別有哪些?
阿新 • • 發佈:2021-07-15
- 從語法形式上看,成員變數是屬於類的,而區域性變數是在程式碼塊或方法中定義的變數或是方法的引數;成員變數可以被
public
,private
,static
等修飾符所修飾,而區域性變數不能被訪問控制修飾符及static
所修飾;但是,成員變數和區域性變數都能被final
所修飾。 - 從變數在記憶體中的儲存方式來看,如果成員變數是使用
static
修飾的,那麼這個成員變數是屬於類的,如果沒有使用static
修飾,這個成員變數是屬於例項的。而物件存在於堆記憶體,區域性變數則存在於棧記憶體。 - 從變數在記憶體中的生存時間上看,成員變數是物件的一部分,它隨著物件的建立而存在,而區域性變數隨著方法的呼叫而自動消失。
- 從變數是否有預設值來看,成員變數如果沒有被賦初,則會自動以型別的預設值而賦值(一種情況例外:被
final