如何使用Java反射机制设置类对象的属性呢?

转自:

如何使用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;
}
-----运行以上方法,将输出以下信息----
我是字段的新值

你可能感兴趣的:(java,java)