如果乙個變數不是在類中定義,而是在某個語句塊或方法中,則該變數就是區域性變數。區域性變數的作用範圍: 從定義該區域性變數開始,直到所處的塊結束。因為區域性變數的作用域特性,所以無法使用訪問許可權修飾符,包括static修飾符。
相比於全域性變數,區域性變數沒有預設值,必須手動進行初始化賦值。區域性變數的生命週期取決於所處的塊,當方法執行結束或語句塊結束,其中的區域性變數就會被釋放。
在main方法中定義的變數也是區域性變數,如下:
public
static
void
main(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 區域性變數不能使用修飾符...