一、基本知識點:
1、反射的概念和應用場合;
2、如何應用反射獲取類的信息(反射的入口);
3、通過反射,則可以運行時生成對象實例、運行期間調用方法、運行時更改屬性值;
4、如何利用反射來動態創建和訪問數組。
二、知識點導入:(java是動態語言嗎?)
通常情況下,java在運行時是不能改變程序結構和變量類型,從這一點來看,java不是動態語言(和C++一樣);
但是,java有一個非常突出的動態相關機制:反射。
通過反射,java可以於運行時加載、探知和使用編譯期間完全未知的類,生成其對象實體,調用其方法和對屬性設置。所以,從這一點來看,java是一個半動態的語言。
三、java語言反射機制概述:
1、重要性: 反射機制是構建框架技術的基礎所在,靈活掌握,爲框架技術打基礎。
2、什麼是java語言的反射機制?
java程序在運行狀態(指的是在運行時,而不是編譯時)中:
對於任意一個類,都能夠知道這個類的所有屬性和方法(也就是能夠探知類的結構);
對於任何一個對象,都能調用它的任意一個方法;
這種動態獲取信息以及動態調用對象方法的功能,就是java語言的反射機制。
例如,在Eclipse環境中,在一個對象後面輸入“.”後,Eclipse就會自動將該對象的所有方法羅列出來以供選擇,這就用到了java的反射機制。
3、java反射機制的動態性質:
A、運行時生成對象實例;
B、運行期間調用方法;
C、運行時更改屬性。
4、java反射可以實現什麼功能?
A、在運行時判斷任意一個對象所屬的類;
B、在運行時構造任意一個類的對象;
C 、在運行時判斷任意一個類具有的方法和屬性;
D、在運行時調用任意一個對象的方法;
E、生成動態代理。