美文网首页
【Java】【反射】Field获取反射对象字段及暴力反射

【Java】【反射】Field获取反射对象字段及暴力反射

作者: JerichoPH | 来源:发表于2017-04-08 09:27 被阅读219次

Field获取反射对象字段及暴力反射

public class Demo_Reflect {
    public static void main(String[] args) throws Exception {
        Class cls = Class.forName("com.demo.Person");
        Constructor c = cls.getConstructor(String.class,int.class);
        Person p = (Person) c.newInstance("张三",23);
        
        Field f = cls.getDeclaredField("name");// 获取反射对象的字段(如果字段为私有使用getDeclaredField,如果为公有则使用getFeild)
        f.setAccessible(true);// 去除私有权限
        f.set(p, "李四");
        
        System.out.println(p);
    }
}

class Person {
    @Override
    public String toString() {
        return "Person [name=" + name + ", age=" + age + "]";
    }
    
    private String name;
    private int age;
    
    public Person(String Name, int Age) {
        name = Name;
        age = Age;
    }
}

相关文章

网友评论

      本文标题:【Java】【反射】Field获取反射对象字段及暴力反射

      本文链接:https://www.haomeiwen.com/subject/avqlattx.html