更新時(shí)間:2019-09-18 14:02:10 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽4025次
今天動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)小編為大家介紹 JAVA基本數(shù)據(jù)類型和引用數(shù)據(jù)類型的參數(shù)傳遞,希望通過(guò)此文大家能夠熟悉JAVA基本數(shù)據(jù)類型和引用數(shù)據(jù)類型的參數(shù)傳遞,下面就隨小編一起來(lái)了解一下JAVA基本數(shù)據(jù)類型和引用數(shù)據(jù)類型的參數(shù)傳遞。
1、java基本數(shù)據(jù)類型的參數(shù)傳值
對(duì)于java基本數(shù)據(jù)類型,修改這個(gè)值并不會(huì)影響作為參數(shù)傳進(jìn)來(lái)的那個(gè)變量,因?yàn)樾薷牡氖欠椒ǖ木植孔兞?是一個(gè)副本。實(shí)參的精度級(jí)別應(yīng)等于或低于形參的精度級(jí)別,否則報(bào)錯(cuò)。
class JB{
void f(int x, int y){
x=x+1;
y=y+1;
System.out.printf("參數(shù)x和y的值分別是:%d, %d\n", x, y);
}
}
public class CS {
public static void main(String[] arg){
int x=10;
int y=12;
JB jb=new JB();
jb.f(x, y);
System.out.printf("main方法中x和y的值分別是:%d, %d\n", x, y);
}
}
結(jié)果:
參數(shù)x和y的值分別是:11, 13
main方法中x和y的值分別是:10, 12
2、java引用數(shù)據(jù)類型的參數(shù)傳值
java引用數(shù)據(jù)類型包括類、數(shù)組以及后面將要學(xué)習(xí)的接口。當(dāng)形參是引用類型時(shí),實(shí)參傳給形參的值是對(duì)象的引用。如果修改形參引用的對(duì)象,那么實(shí)參引用的對(duì)象也會(huì)發(fā)生同樣的變化。因?yàn)閷?shí)參的引用拷貝給了形參,所以實(shí)參和形參引用同一個(gè)對(duì)象,對(duì)形參引用對(duì)象的修改就相當(dāng)于對(duì)實(shí)參引用對(duì)象的修改。
如果修改的不是形參引用的對(duì)象而是形參值本身,也就是讓形參指向其它對(duì)象,則實(shí)參值和實(shí)參引用的對(duì)象都不改變。
class A{
int N;
A(int n){
N = n;
}
void setN(int n){
N = n;
}
int getN(){
return N;
}
}
class A2 extends A{
A2(int n) {
super(n);
}
}
class B{
void f(A a){
a.setN(12);
// a = new A2(111);
System.out.println("在執(zhí)行方法f時(shí), 形參a修改了自己的N值");
System.out.println("當(dāng)前形參mouse的N值: " + a.getN());
}
}
main
B b = new B();
A a = new A(2);
System.out.println("在調(diào)用方法f之前,實(shí)參a的N值: "+ a.getN());
b.f(a);
System.out.println("在調(diào)用方法f之后, 實(shí)參a的N值: " + a.getN());
結(jié)果:
在調(diào)用方法f之前,實(shí)參a的N值: 2
在執(zhí)行方法f時(shí), 形參a修改了自己的N值
當(dāng)前形參a的N值: 12
在調(diào)用方法f之后, 實(shí)參a的N值: 12
注意:形參指向其它對(duì)象這句話的理解,a = new A2(111);讓mouse又指向了另一個(gè)對(duì)象,所以他所修改后的值和實(shí)參沒(méi)有關(guān)系,實(shí)參的值和引用都不會(huì)改變。在代碼中新加入的A2就是繼承了A,通過(guò)方法傳入的是A(a)的對(duì)象的引用,把a(bǔ) = new A2(111);那么之后改變是A2的內(nèi)容,和A就無(wú)關(guān)了,所以A(實(shí)參)的引用對(duì)象和值都不變。
結(jié)果:
在執(zhí)行方法f時(shí), 形參a修改了自己的N值
當(dāng)前形參a的N值: 111
在調(diào)用方法f之后, 實(shí)參a的N值: 2
以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)小編為大家介紹的“JAVA基本數(shù)據(jù)類型和引用數(shù)據(jù)類型的參數(shù)傳遞”的內(nèi)容,希望對(duì)大家有幫助,更多java最新資訊請(qǐng)繼續(xù)關(guān)注動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)官網(wǎng),每天會(huì)有精彩內(nèi)容分享與你。
相關(guān)免費(fèi)視頻教程推薦——java初級(jí)視頻入門教程下載
java引用數(shù)據(jù)類型參數(shù)傳遞:http://www.dabaquan.cn/xiazai/2621.html
java基本數(shù)據(jù)類型參數(shù)傳遞:http://www.dabaquan.cn/xiazai/2623.html
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743