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