5 回答
TA貢獻51條經(jīng)驗 獲得超16個贊
1 a值是你 在main()函數(shù)中的 int a=1;的值,所以等于1,如果你輸出 System.out.println("a 值:"+add(a)); 就是2。
2 聲明一個值為k 的Koo對象并將 add 方法中的koo賦值給k,所以指向的是同一地址,所以koo.a 值就是2。
不明白就看看這個:
值傳遞:(形式參數(shù)類型是基本數(shù)據(jù)類型):方法調(diào)用時,實際參數(shù)把它的值傳遞給對應(yīng)的形式參數(shù),形式參數(shù)只是用實際參數(shù)的值初始化自己的存儲單元內(nèi)容,是兩個不同的存儲單元,所以方法執(zhí)行中形式參數(shù)值的改變不影響實際參數(shù)的值。
引用傳遞:(形式參數(shù)類型是引用數(shù)據(jù)類型參數(shù)):也稱為傳地址。方法調(diào)用時,實際參數(shù)是對象(或數(shù)組),這時實際參數(shù)與形式參數(shù)指向同一個地址,在方法執(zhí)行中,對形式參數(shù)的操作實際上就是對實際參數(shù)的操作,這個結(jié)果在方法結(jié)束后被保留了下來,所以方法執(zhí)行中形式參數(shù)的改變將會影響實際參數(shù)。
TA貢獻88條經(jīng)驗 獲得超43個贊
這是值傳遞和引用傳遞的區(qū)別,先解釋這兩個概念。
值傳遞是指一些基本數(shù)據(jù)類型在作為方法參數(shù)傳遞時,是復(fù)制一個副本傳遞過去,傳遞過去的是一個新變量了,跟原來的沒有任何關(guān)聯(lián)了,改變其中一個的值另一個不會受影響。
引用傳遞是指把這個變量的內(nèi)存地址傳過去,也就是說傳過去的變量和當前變量指向的是同一個變量,改變其中一個的值兩個都變了。
int類型的數(shù)據(jù)是值傳遞,類型數(shù)據(jù)Koo是屬于引用傳遞。如若解惑,望采納
TA貢獻2條經(jīng)驗 獲得超0個贊
a++ 調(diào)用后執(zhí)行加1 ?++a執(zhí)行加1后調(diào)用 ? ?Koo koo = new Koo() 和Koo k = koo意思一樣 前者構(gòu)造一個Koo對象 ?后者對象賦值
添加回答
舉報
