第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

關(guān)于java引用傳遞的問題

關(guān)于java引用傳遞的問題

臨摹微笑 2018-07-01 10:07:50
請問為什么在第一個(gè)程序中可以出現(xiàn)輸出不同值,但是第二個(gè)程序不行?class Ref1{     int temp=10; } public class ClassDemo05 {    public static void main(String[] args) {    Ref1 ref1=new Ref1();    ref1.temp=20;    System.out.println(ref1.temp);    tell(ref1);    System.out.println(ref1.temp);    }            public  static void tell(Ref1 ref2) {    ref2.temp=30;    } }         public class ClassDemo07 {    public static void main(String[] args) {        int a=10;    System.out.println(a);        tell(a);    System.out.println(a);    }    public static void tell(int b) {        b =30;    } }
查看完整描述

2 回答

?
神不在的星期二

TA貢獻(xiàn)1963條經(jīng)驗(yàn) 獲得超6個(gè)贊

第一個(gè)程序輸出兩個(gè)值ref1.temp = 20;,然后tell(ref1);tell方法改變了ref1的temp值為30,所以是2個(gè)值

通過建立內(nèi)部元素的方法,完成了外部元素調(diào)用內(nèi)部元素,且將外部元素全局化

說白了,ref1在main中是有效的,ref1的temp也是有效的,把ref1傳給tell,tell修改ref1.temp是可以直接改的,傳給tell的是個(gè)指針,修改的是指針下面的內(nèi)存值

第二個(gè)元素改變的是局部變量,傳遞過去以后是個(gè)指針,然后指針的值被復(fù)制后用了,所以對外部沒有產(chǎn)生影響


查看完整回答
反對 回復(fù) 2018-07-13
?
喵喔喔

TA貢獻(xiàn)1735條經(jīng)驗(yàn) 獲得超5個(gè)贊

SOGA

查看完整回答
反對 回復(fù) 2018-07-13
  • 2 回答
  • 0 關(guān)注
  • 399 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號