有幾點(diǎn)不是很理解 希望有大佬解惑
1.為什么要初始化屬性students?屬性不是應(yīng)該賦值嗎??this.students=new?ArrayList<String,Student>();?有什么用??為什么這么用??是什么意思 2.public?Map<String,Student>students;??聲明屬性我懂?為什么用Map類(lèi)型??不是說(shuō)Map是接口嗎??不應(yīng)該是int?char?string??這種類(lèi)型嗎 3.Student?st=students.get(ID);???為什么屬性.get()??可以調(diào)用get方法??不應(yīng)該是對(duì)象名.get?或者類(lèi)名.get嗎 不知道我是不是知識(shí)點(diǎn)沒(méi)記住?但我好像沒(méi)忘記什么啊??但就是想不通
2018-09-02
this
.students=
new
?ArrayList<String,Student>();這一步就是為屬性賦值的操作,因?yàn)閙ap是一個(gè)類(lèi),它聲明的是一個(gè)對(duì)象的引用,這一步:
new
?ArrayList
就是將一個(gè)對(duì)象實(shí)例化,然后將對(duì)象的地址賦值給students這個(gè)對(duì)象的引用上的。然后我們通常把這一步操作叫做利用構(gòu)造器為屬性初始化map聲明的是對(duì)象的引用,并不是用map去實(shí)例化一個(gè)對(duì)象,我們知道多態(tài)是可以利用父類(lèi)來(lái)聲明對(duì)象的引用從而指向子類(lèi)實(shí)例化的對(duì)象的,這里就是通過(guò)接口聲明了一個(gè)map對(duì)象的引用,然后用它指向一個(gè)實(shí)現(xiàn)了map對(duì)象的子類(lèi)的對(duì)象
雖然這里的students是一個(gè)屬性,但是他是一個(gè)保存著對(duì)象地址的屬性,所以用它:students。get()方法實(shí)際上是用它所指向的那個(gè)對(duì)象進(jìn)行g(shù)et()方法。
以上就是我的理解,可能有些說(shuō)的不夠透徹。不過(guò)如果有問(wèn)題或者有更好的理解可以及時(shí)回復(fù),大家共同進(jìn)步。
2018-08-31
因?yàn)镸ap是接口,所以不能實(shí)例化 ,只能實(shí)例化HashMap;
因?yàn)閟tudents的類(lèi)型是Map,Map里面 有g(shù)et方法,所以可以students.get();
個(gè)人觀點(diǎn)。。
2018-08-24
Map的映射,key-value,==>String-Student