close
標題:
JAVA程式設計的問題
發問:
麻煩各位大大幫我解惑一下 請寫出一支程式包含兩個函數A與B,A函數呼叫B函數,並傳入陣列變數c,期初始值為123,函數B將c修改為456,請在函數B執行完畢後,在函數A再次列印出c的值是123 or 456?
最佳解答:
public class test { public static void main(String[] args) { int []c = new int[2]; c[0]=123; A(c); } static void A(int[] c){ B(c); System.out.print(c[0]); } static void B(int[] c){ c[0]=456; } } 這是您要的嗎? 會印出456,因為c把它的參考複製一份給A(),而A()也同樣把它的方法引數(從main那複製陣列c過來的記憶體位置)複製一份給B(),也就是說原陣列c、A()的引數c和B()的引數c都是參考到位於heap記憶體區塊的同一陣列物件,也因此,不論用哪個引數對陣列作修正,印出來都是一樣的結果。
- 515啊啊
- 國一數學(10點)@1@
- 36倍速的CD-ROM其讀取資料的速度和哪一種倍速的DVD相
- meromero長不大-!
- OLYMPUS SP-570UZ 跟 E-520的差別
- 台中站如何去嘉豪大飯店@1@
- gossip girl第2季18集片尾的歌劇是哪一首?@1@
- 如何得到新聞中這兩位老人的聯絡方式
- 如何看商品條碼-
- 如果有申請單親托運津貼還可以申請生活教育補助嗎-
此文章來自奇摩知識+如有不便請留言告知
其他解答:481517FD598DAD6B
文章標籤
全站熱搜
留言列表