1. 程式人生 > >全域性變數和區域性變數的區別

全域性變數和區域性變數的區別

全域性變數【成員變數、欄位】

作用域
直接宣告在類當中的變數,作用於整個類當中,整個類中都可以被訪問到
修飾符
可以被static final 修飾詞修飾 這裡被final修飾的表示的是最終的不可變得 這裡被static修飾的是靜態成員變數。其隨著位元組碼檔案建立而建立,隨著位元組碼檔案消失而消失。
初始化問題
在沒有初始化的情況下,會有預設的初始值。不同的資料型別的初始值不同。 int/integer ------>0 byte/Byte ------>0 short/Short------>0 long/Long ------->0L boolean/Boolean String/引用型別-->null float/Float ------->0.0f double/Double--->0.0d char/Character--->'\u0000'
生命週期
隨著初始化的時候在堆中建立,隨著物件的消亡而結束
建立位置
在堆中建立

區域性變數

作用域
作用於方法中
修飾符
不可以被static 修飾 可以被final 修飾詞修飾,表示最終的不可變得
初始化問題
在沒有初始化的情況下是不可以使用的,會報錯
生命週期
當其失去應用或者該方法結束的時候是生命週期結束
建立位置
在棧中建立

使用場景

全域性變數一般使用在描述一類事物的屬性上

注意

區域性變數在使用的時候有就近原則。還有在區域性變數中,一個大括號就表示是一層的,大括號裡面的方法可以使用外面的變數。外面的方法不可以使用裡面的變數
正確的使用區域性變數
void method(){
	int a = 0;//這裡的a 應該是先進行宣告的
	if(a<5){
		a++;
	}
}