java反射给对象属性赋值怎么实现

avatar
作者
猴君
阅读量:8

Java反射可以通过java.lang.reflect.Field类来给对象的属性赋值。以下是一个示例代码:

import java.lang.reflect.Field;  public class Main {     public static void main(String[] args) throws Exception {         // 创建对象         Person person = new Person();          // 获取属性         Field nameField = Person.class.getDeclaredField("name");          // 设置属性可访问性         nameField.setAccessible(true);          // 给属性赋值         nameField.set(person, "John");          // 输出属性值         System.out.println(person.getName()); // 输出: John     } }  class Person {     private String name;      public String getName() {         return name;     } } 

在上面的例子中,首先创建了一个Person对象。然后使用Person.class.getDeclaredField方法获取到了Person类的name属性。为了能够访问私有属性,需要调用Field.setAccessible(true)方法将其设置为可访问。最后,调用Field.set方法将属性值设置为"John"。可以通过person.getName()方法验证属性值是否被成功设置。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!