Constructor[] getConstructors() -- 獲得類的所有公共構(gòu)造函數(shù)
Constructor getDeclaredConstructor(Class[] params) -- 獲得使用特定參數(shù)類型的構(gòu)造函數(shù)(與接入級別無關)
Constructor[] getDeclaredConstructors() -- 獲得類的所有構(gòu)造函數(shù)(與接入級別無關)
獲得字段信息的Class 反射調(diào)用不同于那些用于接入構(gòu)造函數(shù)的調(diào)用,在參數(shù)類型數(shù)組中使用了字段名:
Field getField(String name) -- 獲得命名的公共字段
Field[] getFields() -- 獲得類的所有公共字段
Field getDeclaredField(String name) -- 獲得類聲明的命名的字段
Field[] getDeclaredFields() -- 獲得類聲明的所有字段
用于獲得方法信息函數(shù):
Method getMethod(String name, Class[] params) -- 使用特定的參數(shù)類型,獲得命名的公共方法
Method[] getMethods() -- 獲得類的所有公共方法
Method getDeclaredMethod(String name, Class[] params) -- 使用特寫的參數(shù)類型,獲得類聲明的命名的方法
Method[] getDeclaredMethods() -- 獲得類聲明的所有方法 三. Java反射機制應用初探 現(xiàn)在一堆框架搞得人云里霧里的,例如spring等等,大都利用了Java的反射機制,eg. 大名鼎鼎的IOC.昨天晚上閑著沒事的時候,初試了下反射,下面是一個簡單的測試例子:
控制臺輸出如下: ===========begin getNameTest============ string class name: java.lang.String button class name: java.awt.Button super button class name: java.awt.Component clsTest name: java.awt.Button ===========end getNameTest============
===========begin getMethodTest========== begin testMethod invoked...... str= hello, my dear! name= amigo end testMethod invoked...... returnStr= return str ===========end getMethodTest==========參考文章: 《侯捷觀點--Java反射機制》 《java反射機制》 http://hi.baidu.com/javatwt/blog/item/9aeffd13ddfb65025aaf53d4.html