java反射機製學習總結
轉自:https://blog.csdn.net/DBACQUAN/article/details/12124713
在學習過java反射後,對java反射還不是很了解,現在想用自己的語言來總結一下java的反射機製。
第一:
java反射獲得Class對象,即獲得一麵鏡子,有三種方法:
(1)在java反射中最常用的方法是:Class cls = Class.forName("包名.類名");
(2)使用對象獲得Class對象:Class cls = 對象.getClass();
(3)使用類名獲得Class對象:Class cls = 類名.class;
第二:
通過反射獲得對象的實例:
如果類中存在無參構造函數,則可以直接使用 cls.newInstance( );
如果存在有參的構造函數,則可以使用cls.getConstructor();獲得各個構造函數,返回一個Constructor數組;
使用constructor[0].newINstance(參數,參數...);創建實例、
第三:
獲得該類所實現的所有接口:
Class c [] = cls.getInterfaces();//獲得該類所實現的所有接口
第四:
獲得所實例化對象類的所有屬性:
Field f [] = cls.getDeclaredFields();//獲得本類的所有屬性
Field f [] = cls.getFields(); //獲得繼承類的所有屬性
第五:
Method m[] = cls.getMethods();//獲得本類所有實現的方法以及它繼承類的所有方法
最後更新:2017-04-03 15:22:09