java類成員變數
㈠ java什麼是成員變數和局部變數
本文介紹成員變數和局部變數的區別
1、成員變數是獨立於方法外的變數,局部變數是類的方法中的變數
1)、成員變數:包括實例變數和類變數,用static修飾的是類變數,不用static修飾的是實例變數,所有類的成員變數可以通過this來引用。
2)、局部變數:包括形參,方法局部變數,代碼塊局部變數,存在於方法的參數列表和方法定義中以及代碼塊中。
2、成員變數可以被public,protect,private,static等修飾符修飾,而局部變數不能被控制修飾符及 static修飾;兩者都可以定義成final型。
3、成員變數存儲在堆,局部變數存儲在棧。局部變數的作用域僅限於定義它的方法,在該方法的外部無法訪問它。成員變數的作用域在整個類內部都是可見的,所有成員方法都可以使用它。如果訪問許可權允許,還可以在類的外部使用成員變數。
4、局部變數的生存周期與方法的執行期相同。當方法執行到定義局部變數的語句時,局部變數被創建;執行到它所在的作用域的最後一條語句時,局部變數被銷毀。類的成員變數,如果是實例成員變數,它和對象的生存期相同。而靜態成員變數的生存期是整個程序運行期。
5、成員變數在累載入或實例被創建時,系統自動分配內存空間,並在分配空間後自動為成員變數指定初始化值,初始化值為默認值,基本類型的默認值為0,復合類型的默認值為null。(被final修飾且沒有static的必須顯式賦值),局部變數在定義後必須經過顯式初始化後才能使用,系統不會為局部變數執行初始化。
6、局部變數可以和成員變數 同名,且在使用時,局部變數具有更高的優先順序,直接使用同名訪問,訪問的是局部變數,如需要訪問成員變數可以用this.變數名訪問
頂
㈡ java中的成員變數、類變數,成員方法、類方法各是什麼,怎麼區分,
成員變數:包括實例變數和類變數,用static修飾的是類變數,不用static修飾的是實例變數,所有類的成員變數可以通過this來引用。
類變數:靜態域,靜態欄位,或叫靜態變數,它屬於該類所有實例共有的屬性。而且所有的實例都可以修改這個類變數的值(這個類變數沒有被final修飾的情況),而且訪問類變數的時候不用實例,直接用類名.的方式就可以。
成員方法:包括實例方法和類方法,用static的方法就是類方法,不用static修飾的就是實例方法。實例方法必須在創建實例之後才可以調用。
類方法:和類變數一樣,可以不用實例,直接用類就可以調用類方法。
舉例:
classDemo{
intx;//x是實例變數,也是成員變數
staticinty;//y為類變數,也是成員變數
publicintx(){//該方法為實例方法,是成員方法
returnx;
}
publicstaticvoidsetX(intx1){//該方法為類方法,也是成員方法
x=x1;
}
}
㈢ 什麼是java的局部變數、成員變數和全局變數
1、局部變數:在方法內定義的變數稱為「局部變數」或「臨時變數」,方法結束後局部變數佔用的內存將被釋放。
2、成員變數:在類體的變數部分中定義的變數,也稱為字簡喊段。
3、全局變數:全局變數,又稱「外部變數」,它不是屬於哪個方法,作用域從定義的地址開始到源文件結束。
㈣ JAVA 類變數和成員變數怎麼理解
成員變數就是類中的屬性。當new對象的時候,每個對象都有一份屬性。一個對象中的屬性就是成員變數。在類內部,任何地方都可以訪問成員變數。類變數是被static修飾的屬性。作用范圍在類變數定義之後。
class Person{
//成員變數,實例變數
String name;
//靜態變數,類變數,所有對象共享的屬性用static修飾
static String country = "CN";
public void show(){
System. out.println(country + ":" + name); }}
class StaticDemo{
public static void main(String[]args){
Personp = new Person();
System. out.println(p.country); //可以用類名直接調用
System. out.println(Person.country); }}
(4)java類成員變數擴展閱讀:
成員變數和類變數的區別:
1、兩個變數的生命周期不同
成員變數隨著對象的創建而存在,隨著對象的回收而釋放。
靜態變數隨著類的載入而存在,隨著類的消失而消失。
2、調用方式不同
成員變數只能被對象調用。
靜態變數可以被對象調用,還可以被類名調用。
3、數據存儲位置不同
成員變數存儲在堆內存的對象中,所以也叫對象的特有數據。
靜態變數數據存儲在方法區(共享數據區)的靜態區,所以也叫對象的共享數據。