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

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

來自Java入門第三季6-2中01:09中的疑問,求老鳥解釋

為什么要這樣做,有什么好處,如果不這樣做我該怎么做



正在回答

3 回答

t1.studentForEach(t1.student);

當需要遍歷student的Courses(Set集合)的時候,可以直接傳入成員變量t1.student

否則如果student聲明在方法里就是局部變量了。student是作為SetTest類的成員的。


console也定義為該類的成員變量,而不是放在用到的方法中聲明是因為:

console在多個方法中都需要用到,所以作為類成員就只需分配一次堆內存,否則多個方法重新定義Scanner類變量,需要分配多次內存。

1 回復 有任何疑惑可以回復我~
#1

尋水的魚丶 提問者

非常感謝!
2016-08-15 回復 有任何疑惑可以回復我~

在構造方法中對成員變量進行賦值,有利于節省內存,因為只有在setTest這個類被實例化的時候,這兩個成員變量才會被賦值。當然也可以在定義這個變量的時候就直接初始化。這樣影響應該不是很大。

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

尋水的魚丶 提問者

不明白,小白表示聽不懂。。??梢灾v的詳細一點么
2016-08-08 回復 有任何疑惑可以回復我~
#2

磁單極 回復 尋水的魚丶 提問者

你是不是說,為什么定義console和courseToSelect屬性的時候,為什么不直接初始化賦值,而是放在構造方法里面再去賦值。因為構造方法,是在實例化setTest這個類的時候才會被調用,當你需要的時候再去初始化賦值,這樣對內存的節約有幫助。
2016-08-08 回復 有任何疑惑可以回復我~

你說的是為什么要創建Student類型的student屬性嗎

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

舉報

0/150
提交
取消

來自Java入門第三季6-2中01:09中的疑問,求老鳥解釋

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

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

幫助反饋 APP下載

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

公眾號

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