成員變數與區域性變數的區別有那些

2021-10-11 02:52:42 字數 439 閱讀 5396

1、所在位置:

1.1、成員變數:屬於類中變數,在方法之外,是類的屬性 。

1.2、區域性變數:在方法內部 。

2、語法形式上:

2.1、成員變數:可用 public 、private 、 static等 修飾符修飾。

2.2、區域性變數: 不可用 public 、private 、 static等 修飾符修飾。

共同點:都可被 fianl 修飾符修飾 。

3、預設值:

3.1、 成員變數:在宣告成員變數時可不賦值 , 會預設賦值 ,用final修飾的成員變數必須賦值,不會自動賦值。

3.2、區域性變數:在宣告時沒有賦值,不會自動賦值

4、記憶體空間:

4.1、 成員變數: 位於記憶體的堆中 , 是類的屬性。存在時間,隨著物件的建立而存在。

4.2、 區域性變數:位於棧中,隨著方法的呼叫完成後消失。

成員變數與區域性變數的區別

成員變數 作為類的成員而存在,直接存在於類中。所有類的成員變 量可以通過this來引用。區域性變數 作為方法或語句塊的成員而存在,存在於方法的引數列表和方法定義中。1.在類中的位置不同 成員變數 在類中,方法外 區域性變數 在方法中或者方法宣告上 形式引數 2.在記憶體中的位置不同 成員變數儲存在堆...

區域性變數與成員變數的區別

public class test2 在eat和sleep方法中,都是string型別的name,說明不同的方法,可以有同名的區域性變數 當成員變數和區域性變數名稱相同時,區域性變數更有優先順序 如果想使用成員變數,那麼就使用this.屬性名 成員變數有預設的初始值,應用資料型別的預設值為null,...

成員變數與區域性變數的區別

儲存方式存在差異?區域性變數儲存在棧記憶體中,方法呼叫完畢就會釋放變數占用的記憶體空間。成員變數儲存在堆記憶體中,方法呼叫完畢,不會釋放占用的記憶體空間 因為成員變數可以在多個方法中使用 定義上的差異?成員變數可以使用修飾符 public protected private 區域性變數不能使用修飾符...