java中如何通过反射获取类的属性

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中如何通过反射获取类的属性相关的知识,希望对你有一定的参考价值。

简单的方法如下:
Class<?> cls=Class.forName(className);////////////////////////通过类的名称反射类
Object obj=cls.newInstance();//////////////////////对象实例化
Field field=cls.getField(fieldName);/////这个对应的是属性
fieldValue=field.get(obj);////这个就是属性的值
参考技术A //得到该类的属性集合 model为对象
Field[] fields=model.getClass().getDeclaredFields();
//遍历
for(Field field:fields)
field.setAccessible(true);
//获取一个属性
String name = field.getName();
//获取该属性的值,可能为空
Object value = field.get(am);
参考技术B import java.lang.reflect.Field;
public class Test
public String p;
public static void main(String[] args)
try
Class a=Class.forName("Test");
Field f=a.getField("p");
Test s=new Test();
f.set(s, "2323");
System.out.println(s.p);// 调用属性
catch (ClassNotFoundException e)
e.printStackTrace();
catch (SecurityException e)
e.printStackTrace();
catch (IllegalArgumentException e)
e.printStackTrace();
catch (IllegalAccessException e)
e.printStackTrace();
catch (NoSuchFieldException e)
e.printStackTrace();


参考技术C public Field[] getFields();

以上是关于java中如何通过反射获取类的属性的主要内容,如果未能解决你的问题,请参考以下文章

说说对java反射的理解,使用反射如何获取一个类的所有方法,使用反射需要注意哪些问题?

如何通过反射创建对象?

java反射获取属性值

反射怎么获取类属性类型

反射怎么获取类属性类型

Java反射机制详解