⑴ 什麼是成員變數和局部變數 java
成員變數:
①成員變數定義在類中,在整個類中都可以被訪問。
②成員變數隨著對象的建立而建立,隨著對象的消失而消失,存在於對象所在的堆內存中。
③成員變數有默認初始化值。
局部變數:
①局部變數只定義在局部范圍內,如:函數內,語句內等,只在所屬的區域有效。
②局部變數存在於棧內存中,作用的范圍結束,變數空間會自動釋放。
③局部變數沒有默認初始化值
在使用變數時需要遵循的原則為:就近原則
首先在局部范圍找,有就使用;接著在成員位置找。
可以查看CSDN,網址網頁鏈接
⑵ Java中什麼是局部變數,什麼是類變數,怎麼用this
局部變數是相對於全局而言的。
類變數應該就是類的成員變數吧,也可以說是類的屬性。
成員變數相對於,類的方法里的局部變數而言就是相當於是全局變數的。
this就是當前這個類,你可以this.成員變數在方法中使用這個「全局變數」當然是this.也是可以省略的,如果變數同名,可以加this.來區分。
⑶ JAVA中局部變數和成員變數的區別
根據定義變數位置的不同,可以將變數分為成員變數和局部變數
成員變數是在類范圍內定義的變數
局部變數是在一個方法內定義的變數
成員變數可以分為:
實例屬性 (不用static修飾):隨著實例屬性的存在而存在
類屬性 (static修飾):隨著類的存在而存在
成員變數無需顯式初始化,系統會自動對其進行默認初始化
局部變數可分為:
形參(形式參數): 在整個方法內有效
方法局部變數 (方法內定義):從定義這個變數開始到方法結束這一段時間內有效
代碼塊局部變數 (代碼塊內定義):從定義這個變數開始到代碼塊結束這一段時間內有效
局部變數除了形參外,都必須顯示初始化,也就是要指定一個初始值,否則不能訪問。
還有,在內存中的位置也不一樣。成員變數在所在類被實例化後,存在堆內存中;局部變數在所在方法調用時,存在棧內存空間中。
⑷ java中成員變數和局部變數的區別
成員變數:
1、成員變數定義在類中,在整個類中都可以被訪問。
2、成員變數隨著對象的建立而建立,隨著對象的消失而消失,存在於對象所在的堆內存中。
3、成員變數有默認初始化值。
局部變數:
1、局部變數只定義在局部范圍內,如:函數內,語句內等,只在所屬的區域有效。
2、局部變數存在於棧內存中,作用的范圍結束,變數空間會自動釋放。
3、局部變數沒有默認初始化值
在使用變數時需要遵循的原則為:就近原則
首先在局部范圍找,有就使用;接著在成員位置找。
⑸ java什麼是成員變數和局部變數
本文介紹成員變數和局部變數的區別
1、成員變數是獨立於方法外的變數,局部變數是類的方法中的變數
1)、成員變數:包括實例變數和類變數,用static修飾的是類變數,不用static修飾的是實例變數,所有類的成員變數可以通過this來引用。
2)、局部變數:包括形參,方法局部變數,代碼塊局部變數,存在於方法的參數列表和方法定義中以及代碼塊中。
2、成員變數可以被public,protect,private,static等修飾符修飾,而局部變數不能被控制修飾符及 static修飾;兩者都可以定義成final型。
3、成員變數存儲在堆,局部變數存儲在棧。局部變數的作用域僅限於定義它的方法,在該方法的外部無法訪問它。成員變數的作用域在整個類內部都是可見的,所有成員方法都可以使用它。如果訪問許可權允許,還可以在類的外部使用成員變數。
4、局部變數的生存周期與方法的執行期相同。當方法執行到定義局部變數的語句時,局部變數被創建;執行到它所在的作用域的最後一條語句時,局部變數被銷毀。類的成員變數,如果是實例成員變數,它和對象的生存期相同。而靜態成員變數的生存期是整個程序運行期。
5、成員變數在累載入或實例被創建時,系統自動分配內存空間,並在分配空間後自動為成員變數指定初始化值,初始化值為默認值,基本類型的默認值為0,復合類型的默認值為null。(被final修飾且沒有static的必須顯式賦值),局部變數在定義後必須經過顯式初始化後才能使用,系統不會為局部變數執行初始化。
6、局部變數可以和成員變數 同名,且在使用時,局部變數具有更高的優先順序,直接使用同名訪問,訪問的是局部變數,如需要訪問成員變數可以用this.變數名訪問
頂
⑹ java中全局變數和局部變數的特點是什麼謝謝各位高手了!很急啊!
全局變數就是這個類的對象都可以訪問的屬性,局部變數就是某個方法內部臨時定義的變數,當方法調用結束後,據不變數自然銷毀。而全局變數只有在這個類的對象銷毀時才會伴隨銷毀,如果相很多對象共享一個類的某個屬性就用全局變數。
⑺ java中可以通過對象調用局部變數嗎
是可以的,用final修飾的變數的值或者引用就不能再改變了。
比如你要把一個新開一個線程要用到一個局部變數,那這個變數就必須用final修飾。
⑻ java中局部變數的定義是定義在方法中的變數,for循環是方法嗎for循環里的變數也是局部變數
局部變數和全局變數你要看使用范圍,只能在方法內使用,是局部變數,如果你定義在方法外,那麼整個類內都能使用,就是全局變數,for循環在方法內部,屬於方法體,但是for循環不屬於方法,方法的定義有固定格式,for循環不符合,比如public static void main(參數),其中static可有可無,void是無返回值,也可以寫其他返回值類型,參數可有可無
⑼ 什麼是java的局部變數、成員變數和全局變數
1、局部變數:在方法內定義的變數稱為「局部變數」或「臨時變數」,方法結束後局部變數佔用的內存將被釋放。
2、成員變數:在類體的變數部分中定義的變數,也稱為欄位。
3、全局變數:全局變數,又稱「外部變數」,它不是屬於哪個方法,作用域從定義的地址開始到源文件結束。
⑽ java局部變數和全局變數的區別
全局變數說錯了吧,應該是成員變數。
成員變數:定義在類中,其類中的所有方法都可以調用。
局部變數:定義在方法中,只有方法自身可以調用,同類其他方法不可以訪問。
比如:
class
Person{
//定義一個Person類
String
name;
//定義一個成員變數name
public
void
Study(){
//定義一個Study方法
int
age;
//定義一個Study方法中的局部變數age
name="張三";
//可以給成員變數賦值
age=12;
//可以給方法自身的局部變數賦值
}
public
void
Student(){
//定義一個Student方法
name="李四";
//可以給成員變數賦值
age=12;
//錯誤,不可以給Study方法中的局部變數age賦值;
}
}