資料內(nèi)容:
反射的思想及作用
有反必有正,就像世間的陰和陽,計(jì)算機(jī)的0和1一樣。天道有輪回,蒼天...(凈會(huì)在這瞎bibi)
在學(xué)習(xí)反射之前,先來了解
正射是什么。我們平常用的最多的 new 方式實(shí)例化對(duì)象的方式就是
一種正射的體現(xiàn)。假如我需要實(shí)例化一個(gè) HashMap ,代碼就會(huì)是這樣子。
Map<Integer, Integer> map = new HashMap<>();
map.put(1, 1);
某一天發(fā)現(xiàn),該段程序不適合用 HashMap 存儲(chǔ)鍵值對(duì),更傾向于用 LinkedHashMap 存儲(chǔ)。重新
編寫代碼后變成下面這個(gè)樣子。
Map<Integer, Integer> map = new LinkedHashMap<>();
map.put(1, 1);
假如又有一天,發(fā)現(xiàn)數(shù)據(jù)還是適合用 HashMap來存儲(chǔ),難道又要重新修改源碼嗎?
發(fā)現(xiàn)問題了嗎?我們每次改變一種需求,都要去重新
修改源碼,然后對(duì)代碼進(jìn)行編譯,打
包,再到 JVM 上重啟項(xiàng)目。這么些步驟下來,效率非常低。