温馨提示×

java reflection如何访问私有字段

小樊
83
2024-07-20 19:12:00
栏目: 编程语言
Java开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

要访问私有字段,可以使用Java反射机制中的Field类的setAccessible方法来打开私有字段的访问权限。下面是一个示例代码:

import java.lang.reflect.Field;

public class Main {
    private String privateField = "private";

    public static void main(String[] args) throws NoSuchFieldException, IllegalAccessException {
        Main obj = new Main();

        Field field = Main.class.getDeclaredField("privateField");
        field.setAccessible(true);

        String value = (String) field.get(obj);
        System.out.println("Private field value: " + value);
    }
}

在上面的代码中,我们首先使用Main.class.getDeclaredField("privateField")方法获取私有字段privateField,然后调用field.setAccessible(true)方法打开私有字段的访问权限。最后使用field.get(obj)方法获取私有字段的值。

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

推荐阅读:Java reflections的安全问题

0