java中的反射技术系列四:反射类的字段
------------------------------------------------------------------------
操作步骤:
1、加载类,如Class cla=Person.class
2、调用getField()/getDeclaredField()方法,参数是类的成员方法名称,如
Filed Field f=cla.getDeclaredField("password");
3、调用System.out.println(f.get(p));
--------------------------------------------------------------------------------
例子:
public class Person {
public String name="qq";
private int password=23;
private static int age=345;
-----------------------------------------------------
测试类:
public class Demo2 {
Person p = new Person();
@Test
public void demotest() throws Throwable, SecurityException {
Class cla = Person.class;
Field f=cla.getField("name");
//获取字段的值
Object value=f.get(p);
//获取字段的类型
Class type =f.getType();
if(type.equals(String.class)){
String svalue=(String)value;
System.out.println(svalue);
}
//设置字段的值
f.set(p,"你好");
System.out.println(p.name);
}
@Test
public void demotest2() throws Throwable, SecurityException {
Class cla = Person.class;
Field f=cla.getDeclaredField("password");
f.setAccessible(true);
System.out.println(f.get(p));
}
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步