你可以看下java反射机制,可以解决你的问题。
简单写了下:
import java.lang.reflect.Method;
public class Demo {
private String id;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
/**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
Demo demo = new Demo();
Method[] methods = Demo.class.getMethods();// 类的方法
for (Method method : methods) {
String methodName = method.getName();
// System.out.println("方法名:" + methodName);
if (methodName.startsWith("set")) {// 如果方法名以set开头
method.invoke(demo, "测试值");// 调用方法
}
}
for (Method method : methods) {
String methodName = method.getName();
// System.out.println("方法名:" + methodName);
if (methodName.startsWith("get") && !methodName.equals("getClass")) {// 如果方法名以get开头
Object value = method.invoke(demo);// 调用方法,并打印返回值
System.out.println(value);
}
}
}
}
你的意思是,随便给一个类名,然后能在其他类里调用它的get set方法么?
如果是的话请追问,不是的话请解释。我理解能力有限...