一、反射的概念框架
構建框架技術的基礎之一。運行時獲取類的信息並調用類對象的方法的功能。spa
二、動態性質代理
2.1 運行時生成對象實例。對象
2.2 運行期間調用方法。編譯
2.3 運行時更改屬性。基礎
三、實現功能反射
3.1 運行時判斷任意一個對象所屬的類。程序
3.2 運行時判斷一個類所具備的方法和屬性。方法
3.3 運行時構造任意一個類的對象。技術
3.4 運行時調用任意一個對象的方法。
3.5 生成動態代理。
四、應用場合
4.1 編譯時類型與運行時類型
如:Person p = new Student();
編譯時類型:Person (由聲明該對象時的類型決定)
運行時類型:Student (有實際賦給該對象的類型決定)
4.2 場合
程序在運行時接收到外部傳入的對象,該對象的編譯時類型爲Object,程序須要調用該對象運行時類型的方法。
爲了解決這個問題,程序須要在運行時發現對象和類的真實信息,必須使用反射。