1反射機(jī)制是什么
反射機(jī)制是在運(yùn)行狀態(tài)中,對于任意一個類,都能夠知道這個類的所有屬性和方法;對于任意一個對象,都能夠調(diào)用它的任意一個方法和屬性;這種動態(tài)獲取的信息以及動態(tài)調(diào)用對象的方法的功能稱為java語言的反射機(jī)制。
2反射機(jī)制能做什么
反射機(jī)制主要提供了以下功能:
在運(yùn)行時判斷任意一個對象所屬的類;
在運(yùn)行時構(gòu)造任意一個類的對象;
在運(yùn)行時判斷任意一個類所具有的成員變量和方法;
在運(yùn)行時調(diào)用任意一個對象的方法;
生成動態(tài)代理。
3反射機(jī)制的相關(guān)API
3.1通過一個對象獲得完整的包名和類名

3.2實例化Class類對象

3.3獲取一個對象的父類與實現(xiàn)的接口

3.4獲取某個類中的全部構(gòu)造函數(shù) - 詳見下例
?通過反射機(jī)制實例化一個類的對象


3.5獲取某個類的全部屬性

3.6獲取某個類的全部方法

3.7通過反射機(jī)制調(diào)用某個類的方法

3.8通過反射機(jī)制操作某個類的屬性

3.9反射機(jī)制的動態(tài)代理


4反射機(jī)制的應(yīng)用實例
4.1在泛型為Integer的ArrayList中存放一個String類型的對象。

4.2通過反射取得并修改數(shù)組的信息

4.3通過反射機(jī)制修改數(shù)組的大小

4.4將反射機(jī)制應(yīng)用于工廠模式

