转自:
如何使用Java反射机制设置类对象的属性呢?
下文讲述使用Java反射设置一个类对象的方法分享,如下所示:
实现思路:
1.forName():获取指定的Class对象
2.getField();
3.设置访问权限
4.使用Field对象的set方法设置属性值
例:
package com.java265.other;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
public class TestClass {
public static void main(String[] args) throws Exception {
Class<?> clazz = Class.forName("com.java265.other.User");
Constructor<?> c = clazz.getConstructor();
Field field = clazz.getDeclaredField("name");
User u = (User) c.newInstance();
field.set(u, "我是字段的新值");
System.out.println(u.toString());
}
}
class User {
@Override
public String toString() {
return this.name;
}
public User() {
}
public String name;
}
-----运行以上方法,将输出以下信息----
我是字段的新值