可以分為:成員變量、局部變量,
而成員變量又分為:實例變量、靜態(tài)變量。
實例變量是指不使用static修飾的變量,
靜態(tài)變量是指使用static修飾的變量。
局部變量包括:方法內(nèi)聲明的變量、方法的形參、構(gòu)造器的形參、代碼塊內(nèi)聲明的變量。
成員變量:如果一個變量定義的位置在方法的外部,在類的內(nèi)部,此時該變量被稱為成員變量。成員變量不是必須要賦值,成員變量是有默認值的,具體的值是根據(jù)數(shù)據(jù)類型來定。
實例變量有默認值
byte/short/int/long : 0
float/double : 0.0
char : 0 或 ‘\u0000’
boolean : false
引用類型: null
實例變量是指不使用static修飾的變量,
類中的實例變量在用該類創(chuàng)建對象的時候才會被分配內(nèi)存空間。
//實例變量的賦值
public class Test01 {int m = 10,n;//A
//n=200; 成員變量 在聲明的同時賦值或者在方法內(nèi)賦值
void f(){if(m == n)
n=+m; //C
else
n = n - m; //D
}
}
實例變量的調(diào)用public class Test1 {int a=10; //成員變量 示例變量
public static void main(String[] args) {Test1 test1 = new Test1();
int a = test1.a; //局部變量a
System.out.println(a);
test1.sys();
}
public void sys() {//示例方法
System.out.println(a);
}
}
//類Test2
public class Test2 {public static void main(String[] args) {// TODO 自動生成的方法存根
Test1 test1=new Test1();
int a=test1.a;
System.out.println(a);
}
}
靜態(tài)變量java 中被 static 修飾的成員稱為靜態(tài)成員或類成員。它屬于整個類所有,而不是某個對象所有,即被類的所有對象所共享。靜態(tài)成員可以使用類名直接訪問,也可以使用對象名進行訪問。靜態(tài)變量是成員變量的一種。
1.靜態(tài)變量在類中,但在方法、構(gòu)造方法、語句塊之外;
2.系統(tǒng)自動賦初值,此外,靜態(tài)變量還可以在靜態(tài)語句塊中初始化);
3.對象. 或 類名. 兩種形式調(diào)用;
4.存儲在方法區(qū)的靜態(tài)方法區(qū);
5. 生命周期是 隨類加載而加載,類消失而消失;
6. 無論一個類創(chuàng)建了多少個對象,類只擁有靜態(tài)變量的一份地址拷貝;
7.為了對類的使用者可見,大多數(shù)靜態(tài)變量聲明為public類型;
局部變量:如果一個變量的定義的位置是在方法的內(nèi)部,此時 該變量被稱為局部變量。局部變量在使用的前必須要賦值。
不會賦默認值 必須賦初值才能使用
public class MemberLocal{static String name; //靜態(tài)變量 由 static修飾 又稱全局變量 可以被靜態(tài)方法使用
int num=10;//成員變量 又稱實例變量 一般使用在其他需要的方法中 使用時需要new一下
public static void A() {int num=20; //局部變量 在這個方法內(nèi)使用
System.out.println("我是靜態(tài)變量name 我的值是初始值"+name);
System.out.println("我是局部變量num 我需要賦值后使用 我的值是"+num);
name = "被A修改過的name";
}
public static void B(int param) {//方法的參數(shù)就是局部變量
//參數(shù)在方法調(diào)用的時候必然是會被賦值的
System.out.println("我是局部變量parame 我需要賦值后使用 我的值是"+param);
System.out.println("我是靜態(tài)變量name 我的值是"+name);
}
public static void main(String[] args){ int numB = 100;
A();
B(numB);
}
}
靜態(tài)變量 成員變量 局部變量對比1.聲明格式相同
格式: 數(shù)據(jù)類型 變量名 = 變量值
2.變量,必須先聲明后使用
3.變量,都有其作用域
不同點:1.聲明的位置不同:
成員變量:直接聲明在類的內(nèi)部
局部變量:方法內(nèi)聲明的變量
方法的形參、構(gòu)造器的形參
代碼塊內(nèi)聲明的變量。
2.權(quán)限修飾符的使用:
成員變量:可以在聲明的類型前,指明權(quán)限修飾符。
權(quán)限修飾符有:private、public、protected、默認
局部變量:不可以聲明權(quán)限修飾符
3.默認初始化值:
成員變量:在聲明時,如果沒有顯示賦值。則其有默認初始化值。
byte/short/int/long : 0
float/double : 0.0
char : 0 或 '\u0000'
boolean : false
引用類型: null
局部變量:在使用變量前,一定要進行顯示初始化。即:局部變量沒有初始化值
對于方法的形參(局部變量的一種)而言,是在調(diào)用方法時,給形參賦值。
4.在內(nèi)存中加載的位置不同:
成員變量:聲明在堆空間中(永久存在)
局部變量:聲明在??臻g中
注意事項:1.當成員變量與局部變量名相同時,使用就近原則,只要你能訪問到,哪個聲明的地方離你近就訪問的是哪個,必須訪問成員變量時,使用this訪問。
2.每個對象都有自己的成員變量,并不是共享一份,而靜態(tài)變量則是所有對象共享一份。
3.靜態(tài)變量的訪問,一般使用‘類名.變量名’進行訪問,也可使用‘對象名.變量名’進行訪問,但不推薦,因為靜態(tài)變量并不屬于某個對象,而屬于整個類
你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
當前名稱:java--成員變量和局部變量-創(chuàng)新互聯(lián)
鏈接地址:http://jinyejixie.com/article6/dijdig.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供ChatGPT、網(wǎng)站營銷、小程序開發(fā)、標簽優(yōu)化、搜索引擎優(yōu)化、App開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容