* 得到某類的所有字段
*
*/
public void reflect2(){
try {
Class cls = Class.forName("entity.UserBean");//加載UserBean類到內存中!獲取一個Class對象
Field[]fields = cls.getDeclaredFields();//通過class取出當前class的所有字段
for (Field field : fields) { //完全等同於上面的for循環
System.out.println(field.getName()+" "+field.getType());
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
getFields()獲得某個類的所有的公共(public)的字段,包括父類。
getDeclaredFields()獲得某個類的所有申明的字段,即包括public、private和proteced,但是不包括父類的申明字段。
同樣類似的還有getConstructors()和getDeclaredConstructors(),getMethods()和getDeclaredMethods()。
返回一個 Method 對象,該對象反映此 Class 對象所表示的類或接口的指定已聲明方法。
Method[] getDeclaredMethods()
返回 Method 對象的一個數組,這些對象反映此 Class 對象表示的類或接口聲明的所有方法,包括公共、保護、默認(包)訪問和私有方法,但不包括繼承的方法。
Method getMethod(String name, Class… parameterTypes)
返回一個 Method 對象,它反映此 Class 對象所表示的類或接口的指定公共成員方法。
Method[] getMethods()
返回一個包含某些 Method 對象的數組,這些對象反映此 Class 對象所表示的類或接口(包括那些由該類或接口聲明的以及從超類和超接口繼承的那些的類或接口)的公共 member 方法。
getDeclaredField(String name)
返回一個 Field 對象,該對象反映此 Class 對象所表示的類或接口的指定已聲明字段。
Field[] getDeclaredFields()
返回 Field 對象的一個數組,這些對象反映此 Class 對象所表示的類或接口所聲明的所有字段,包括公共、保護、默認(包)訪問和私有字段,但不包括繼承的字段。