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

2022-05-17 08:15:56 字數 720 閱讀 5720

1.1 定義變數的格式:資料型別  變數名 = 變數值

1.2 先宣告,後使用

1.3 變數都有其對應的作用域

2.1 在類中宣告的位置的不同

屬性:直接定義在類的一對{}內

區域性變數:宣告在方法內、方法形參、**塊內、構造器形參、構造器內部的變數

2.2 關於許可權修飾符的不同

屬性:可以在宣告屬性時,指明其許可權,使用許可權修飾符。

常用的許可權修飾符:private、public、預設、protected --->封裝性

目前,大家宣告屬性時,都使用預設就可以了。

區域性變數:不可以使用許可權修飾符。

2.3 預設初始化值的情況:

屬性:類的屬性,根據其型別,都有預設初始化值。

整型(byte、short、int、long):0

浮點型(float、double):0.0

字元型(char):0 (或'\u0000')

布林型(boolean):false

引用資料型別(類、陣列、介面):null

區域性變數:沒有預設初始化值。

意味著,我們在呼叫區域性變數之前,一定要顯式賦值。

特別地:形參在呼叫時,我們賦值即可。

2.4 在記憶體中載入的位置:

屬性:載入到堆空間中 (非static)

區域性變數:載入到棧空間

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

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

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

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

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

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