關于Map對象的初始化問題
public?class?MapTest{ public?Map<String,Student>studens; public?MapTest() { this.students=new?HashMap<String,Student>(); } }
為什么創(chuàng)建Map對象要使用上面的構(gòu)造器初始化?若不使用構(gòu)造器,直接“public?Map<String,Student>studens=new?HashMap<String,Students>;” 的效果不是一樣的嗎,二者有何區(qū)別?
2019-06-04
這里用的public效果就差不多,但是如果前面用的是private的話,就不一樣了
2019-05-31
不知道對不對,個人見解:單看這一段效果一樣,只不過初始化方式不同。? ?當包中有更多文件,用構(gòu)造器初始化可能好點,屬于一個封裝的問題。Map類型對象公有化,如果后期有同名變量名可能會報錯。一般Map類型對象會私有化吧:private Map<String,Student> students;? ?其次,構(gòu)造器的話有生成快捷方式,多個變量情況下方便,代碼看上去也整齊(O(∩_∩)O哈哈~)