首页 > 代码库 > 使用反射设置对象的字段值
使用反射设置对象的字段值
package com.sadhu; import java.util.*; import java.lang.reflect.*; /** */ public class Sample { public static void main(String[] args)throws Exception { Class cl = Class.forName("com.sadhu.ReflectTest"); Object rt = cl.newInstance();//创建一个对象 Field[] field = cl.getDeclaredFields(); for(Field item : field) { item.setAccessible(true);//值为 true 则指示反射的对象在使用时应该取消 Java 语言访问检查。值为 false 则指示反射的对象应该实施 Java 语言访问检查。 if(item.getType() == String.class) { item.set(rt,"张三"); } if(item.getType() == int.class) { item.set(rt,10); } System.out.println(item.get(rt));//输出当前字段在对象中的值是多少 } } } class ReflectTest { private String name; private int age; public void setName(String aName) { this.name = aName; } public String getName() { return this.name; } public void setAge(int aAge) { this.age = aAge; } public int getAge() { return this.age; } public ReflectTest() { System.out.println("调用无参数构造函数!"); } } /** 输出结果: 调用无参数构造函数! 张三 10 */
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。