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