温馨提示×

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

小亿
133
2023-10-26 20:49:58
栏目: 编程语言
Java开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

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()方法验证属性值是否被成功设置。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:java怎么通过反射给属性赋值

0