亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

關于put方法創建新對象的問題

為什么要新建一個對象直接在第一個對象上修改姓名不行嗎

比如這樣 st.name = console.next();

students.put(ID,st)


正在回答

4 回答

st.name是個value值

例 st.name是“小明”

“小明”=“小紅”?無法付值,左邊必須為一個變量

這是我的理解

0 回復 有任何疑惑可以回復我~

不新建的話你也需要先將輸入ID對應的學生對象取出來再做修改,不然你的st對象是哪里來的,你可以自己試試

0 回復 有任何疑惑可以回復我~

上面的答案有點問題,我還需要去測試一下。感覺有點說不通。

0 回復 有任何疑惑可以回復我~

正常來講,學生類的名字變量都需要用私有的修飾符private修飾。這樣就需要封裝,使用get和set方法獲得或者設置名字。實例化有參數的構造器(獲得一個對象)就會傳入名字和ID。這個時候調用set方法是不能設置名字的,因為封裝保證了變量的安全性。如果使用一個無參數的構造器。然后在使用set方法設置名字,那么就是創建了一個新的對象,沒有起到修改的作用。你需要去把學生類里面的name屬性的修飾符改成private的。然后將屬性封裝。

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Java入門第三季
  • 參與學習       409767    人
  • 解答問題       4543    個

Java中你必須懂得常用技能,不容錯過的精彩,快來加入吧

進入課程

關于put方法創建新對象的問題

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號