Java反射代码 得到某类的所有字段 getFields()与getDeclaredFields()区别 getMethod()和getDeclaredMethod()区别
2017-03-02 12:03
525 查看
**
* 得到某类的所有字段
*
*/
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 getDeclaredMethod(String name, Class… parameterTypes)d
返回一个 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 对象所表示的类或接口所声明的所有字段,包括公共、保护、默认(包)访问和私有字段,但不包括继承的字段。
* getConstructors()与getDeclaredConstructors()区别:getConstructors()只能访问类中声明为public的构造函数.getDeclaredConstructors()能访问类中所有的构造函数,与public,private,protect无关
* 得到某类的所有字段
*
*/
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 getDeclaredMethod(String name, Class… parameterTypes)d
返回一个 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 对象所表示的类或接口所声明的所有字段,包括公共、保护、默认(包)访问和私有字段,但不包括继承的字段。
* getConstructors()与getDeclaredConstructors()区别:getConstructors()只能访问类中声明为public的构造函数.getDeclaredConstructors()能访问类中所有的构造函数,与public,private,protect无关
相关文章推荐
- Java反射代码 得到某类的所有字段 getFields()与getDeclaredFields()区别 getMethod()和getDeclaredMethod()区别
- JAVA反射中的getFields()方法和getDeclaredFields ()方法的区别 关于获取类的字段有两种方式:getFields()和getDeclaredFields()
- Java反射 getFields()和getDeclaredFields()的区别
- 反射获取对象成员的字段值,getFields()和getDeclaredFields()用法区别
- Java反射 getFields()和getDeclaredFields()的区别
- Java反射 getFields()和getDeclaredFields()的区别
- 反射获取对象成员的字段值,getFields()和getDeclaredFields()用法区别
- Java反射 getFields()和getDeclaredFields()的区别
- JAVA反射中的getFields()方法和getDeclaredFields ()方法的区别
- Java反射 getFields()和getDeclaredFields()的区别
- Java反射中的getFields()和getDeclaredFields()的区别。
- Java反射 getFields()和getDeclaredFields()的区别
- Java 反射(Reflection) - Class 类 getMethod、getMethods、getDeclaredMethod、getDeclaredMethods四者区别
- Java反射 getFields()和getDeclaredFields()的区别
- JAVA反射中的getFields()方法和getDeclaredFields ()方法的区别
- java反射---getDeclaredFields()与getFields()的区别
- Java 反射机制中 getMethod()和getDeclaredMethod()区别
- JAVA反射中的getFields()方法和getDeclaredFields ()方法的区别
- 反射获取对象成员的字段值,getFields()和getDeclaredFields()用法区别
- 反射获取对象成员的字段值,getFields()和getDeclaredFields()用法区别