課程
/后端開發(fā)
/Java
/Java入門第三季
為什么要新建一個(gè)對(duì)象直接在第一個(gè)對(duì)象上修改姓名不行嗎
比如這樣 st.name = console.next();
students.put(ID,st)
2017-07-06
源自:Java入門第三季 5-4
正在回答
st.name是個(gè)value值
例 st.name是“小明”
“小明”=“小紅”?無(wú)法付值,左邊必須為一個(gè)變量
這是我的理解
不新建的話你也需要先將輸入ID對(duì)應(yīng)的學(xué)生對(duì)象取出來(lái)再做修改,不然你的st對(duì)象是哪里來(lái)的,你可以自己試試
上面的答案有點(diǎn)問題,我還需要去測(cè)試一下。感覺有點(diǎn)說(shuō)不通。
正常來(lái)講,學(xué)生類的名字變量都需要用私有的修飾符private修飾。這樣就需要封裝,使用get和set方法獲得或者設(shè)置名字。實(shí)例化有參數(shù)的構(gòu)造器(獲得一個(gè)對(duì)象)就會(huì)傳入名字和ID。這個(gè)時(shí)候調(diào)用set方法是不能設(shè)置名字的,因?yàn)榉庋b保證了變量的安全性。如果使用一個(gè)無(wú)參數(shù)的構(gòu)造器。然后在使用set方法設(shè)置名字,那么就是創(chuàng)建了一個(gè)新的對(duì)象,沒有起到修改的作用。你需要去把學(xué)生類里面的name屬性的修飾符改成private的。然后將屬性封裝。
舉報(bào)
Java中你必須懂得常用技能,不容錯(cuò)過(guò)的精彩,快來(lái)加入吧
1 回答關(guān)于new創(chuàng)建對(duì)象????
2 回答關(guān)于map中的put方法
2 回答關(guān)于添加新對(duì)象的問題
3 回答string對(duì)象的創(chuàng)建
3 回答put()方法傳參數(shù)問題
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2018-03-29
st.name是個(gè)value值
例 st.name是“小明”
“小明”=“小紅”?無(wú)法付值,左邊必須為一個(gè)變量
這是我的理解
2017-09-01
不新建的話你也需要先將輸入ID對(duì)應(yīng)的學(xué)生對(duì)象取出來(lái)再做修改,不然你的st對(duì)象是哪里來(lái)的,你可以自己試試
2017-07-07
上面的答案有點(diǎn)問題,我還需要去測(cè)試一下。感覺有點(diǎn)說(shuō)不通。
2017-07-06
正常來(lái)講,學(xué)生類的名字變量都需要用私有的修飾符private修飾。這樣就需要封裝,使用get和set方法獲得或者設(shè)置名字。實(shí)例化有參數(shù)的構(gòu)造器(獲得一個(gè)對(duì)象)就會(huì)傳入名字和ID。這個(gè)時(shí)候調(diào)用set方法是不能設(shè)置名字的,因?yàn)榉庋b保證了變量的安全性。如果使用一個(gè)無(wú)參數(shù)的構(gòu)造器。然后在使用set方法設(shè)置名字,那么就是創(chuàng)建了一個(gè)新的對(duì)象,沒有起到修改的作用。你需要去把學(xué)生類里面的name屬性的修飾符改成private的。然后將屬性封裝。