public Object test(String cn){ //根据传的参数创建对象,并且调用对象中所有属性的set方法赋值(赋什么值没有要求) //最后把这个对象返回 //在方位外面接收到这个对象后强制转为对应的类型 然后调用get方法查看赋值是否成功 }
package d13e1;
import java.lang.reflect.Method;
public class Test {
private int age; private String name; private Long id; public static void main(String[] args) { Test t = new Test(); t = (Test) t.test("d13e1.Test"); System.out.println(t); } public Object test(String cn) { Object object = null; try { object = Class.forName(cn).newInstance(); Class<? extends Object> c = object.getClass(); Method methodint = c.getMethod("setAge", int.class); Method methodString = c.getMethod("setName", String.class); Method methodlong = c.getMethod("setId", Long.class); methodint.invoke(object, 10); methodlong.invoke(object, 1929018L); methodString.invoke(object, "小明"); } catch (Exception e) { e.printStackTrace(); } return object; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Long getId() { return id; } public void setId(Long id) { this.id = id; } @Override public String toString() { return "T [age=" + age + ", name=" + name + ", id=" + id + "]"; }}