當前位置:首頁 » 編程語言 » java類成員變數

java類成員變數

發布時間: 2024-11-09 19:45:11

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、數據存儲位置不同

成員變數存儲在堆內存的對象中,所以也叫對象的特有數據。

靜態變數數據存儲在方法區(共享數據區)的靜態區,所以也叫對象的共享數據。



熱點內容
extjs文件上傳java 發布:2024-11-13 06:22:49 瀏覽:692
電腦數據怎麼備份到伺服器 發布:2024-11-13 06:19:31 瀏覽:404
c語言函頭文件 發布:2024-11-13 06:14:40 瀏覽:37
編譯java程序的命令是什麼 發布:2024-11-13 06:09:32 瀏覽:857
編譯dll依賴另一個dll 發布:2024-11-13 06:09:25 瀏覽:124
祝編程老師 發布:2024-11-13 06:07:26 瀏覽:506
五格殿下編程 發布:2024-11-13 05:54:11 瀏覽:214
學生密碼筆盒原始密碼多少 發布:2024-11-13 05:30:06 瀏覽:770
android廣播的注冊 發布:2024-11-13 04:47:49 瀏覽:26
KTV上傳視頻 發布:2024-11-13 04:46:59 瀏覽:34