如何使用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; } -----运行以上方法,将输出以下信息---- 我是字段的新值
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。