區域性變數 與常量區別

2021-10-03 13:39:52 字數 1008 閱讀 9776

如果乙個變數不是在類中定義,而是在某個語句塊或方法中,則該變數就是區域性變數。區域性變數的作用範圍: 從定義該區域性變數開始,直到所處的塊結束。因為區域性變數的作用域特性,所以無法使用訪問許可權修飾符,包括static修飾符。

相比於全域性變數,區域性變數沒有預設值,必須手動進行初始化賦值。區域性變數的生命週期取決於所處的塊,當方法執行結束或語句塊結束,其中的區域性變數就會被釋放。

在main方法中定義的變數也是區域性變數,如下:

publicstaticvoidmain(string args)

for迴圈語句塊中定義的初始條件變數,也是區域性變數:

int a = new int[5];

for(int i = 0; i 注意:如果定義的區域性變數和全域性變數同名,則在該塊中優先使用區域性變數。也可以通過this呼叫同名例項變數或者類名呼叫同名靜態變數。但定義區域性變數時,最好不要和全域性變數同名,避免引起混淆。

public class testvariable

public static void test()

}

變數表示變化的值,常量表示常久不變的值。在程式執行時,變數的值會根據不同的情況進行改變,而常量則不會被改變。

變數 :variabletype  name = value;     常量 :static final variabletype  name = value;  常量名建議大寫。 final可以用於修飾類、方法和變數,用於標識不可更改。

定義常量時,修飾符一般為public static final , 表明該常量是公開的,隨著類載入而載入,只分配一次記憶體,並且被類的所有物件共享,使用時直接類名.常量名。 因為是常量,所以無需擔心值被物件修改。若不用static修飾常量,類建立例項後,才能呼叫例項常量,並且每次都要為該常量重新分配記憶體。

public class testvariable 

}

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

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

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

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

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

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