區域性變數和成員變數初始化的不同

2022-01-30 03:43:01 字數 404 閱讀 5060

1. 區別

值型別的 區域性變數必須初始化,成員變數宣告時預設初始化。

也就是說,區域性變數使用前,必須賦值。而成員變數 會預設賦值,不必須。

2.預設值是什麼? 

成員變數中里的,

基本數值型別預設初始值為0,string等非基本型別初始化為null。

why?

值型別在棧中,值在是在棧中。而string等引用型別在堆中,不賦值表示沒有指向,所謂為null。

3.this什麼時候用?

當成員變數和區域性變數(函式引數也可以看做區域性變數)重名的時候,被看做區域性變數,因此為了避免混亂,建議訪問成員變數的時候加

上「this.」,this代表當前物件。

區域性變數和全域性變數的初始化

寫 的時候遇到了這個問題,選兩段抄過來做個筆記。定義區域性變數,其實就是在棧中通過移動棧指標來給程式提供乙個記憶體空間和這個區域性變數名繫結。因為這段記憶體空間在棧上,而棧記憶體是反覆使用的 髒的,上次用完沒清零的 所以說使用棧來實現的區域性變數定義時如果不顯式初始化,值就是髒的。在c語言裡,全域性...

golang基礎 區域性變數初始化

操作 只能用於方法內部,宣告並初始化新的變數 v 3 但是不能用於已宣告變數賦值,下面的做法編譯器會報錯誤 no new variables on left side of var v int 0 v 1 通過錯誤可以了解到,操作左邊必須要有新變數,那麼多個變數初始化只需要滿足左邊至少有乙個新變數即...

成員變數 區域性變數

成員變數 作為類的成員而存在,直接存在於類中。所有類的成員變 量可以通過this來引用。區域性變數 作為方法或語句塊的成員而存在,存在於方法的引數列表和方法定義中。1.成員變數可以被 public,protect,private,static等修飾符修飾,而 區域性變數不能被控制修飾符及 stati...