创建一个类生成get、set方法
public class ReflectTest {
private int id;
private String name;
public ReflectTest() {
}
public ReflectTest(int id, String name) {
this.id = id;
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "ReflectTest{" +
"id=" + id +
", name='" + name + '\'' +
'}';
}
}
测试
public class Demo {
public static void main(String[] args) {
ReflectTest reflectTest = new ReflectTest();
try {
Method setId = reflectTest.getClass().getMethod("setId", int.class);
Method setName = reflectTest.getClass().getMethod("setName", String.class);
setName.invoke(reflectTest,"李四");
setId.invoke(reflectTest,1564);
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
System.out.println(reflectTest.toString());
}
}
结果
ReflectTest{id=1564, name='李四'}