java使用反射给对象赋值

类:

public class Test {

    private String name;

    public String getName() {

        return name;

    }

    public void setName( String name) {

         this.name= name;

    }

}

方法1:

Test t = new Test();

Field f = t.getClass().getDeclaredField("name");

f.setAccessible(true);

f.set(t, "this is test1");

System.out.println(t.getName());

 

方法2:

Test t = new Test();

Method setName = t.getClass().getMethod("setName", String.class);

String s ="this is test2";

setName.invoke(t,s);

System.out.println(t.getName());

posted @ 2018-11-14 14:29  孤城丶闭  阅读(13056)  评论(1编辑  收藏  举报