你可以看下java反射机制,可以解决你的问题。
简单写了下:
importjava.lang.reflect.Method;
publicclassDemo{
privateStringid;
publicStringgetId(){
returnid;
}
publicvoidsetId(Stringid){
this.id=id;
}
publicstaticvoidmain(String[]args)throwsException{
Demodemo=newDemo();
Method[]methods=Demo.class.getMethods();//类的方法
for(Methodmethod:methods){
StringmethodName=method.getName();
//System.out.println("方法名:"+methodName);
if(methodName.startsWith("set")){//如果方法名以set开头
method.invoke(demo,"测试值");//调用方法
}
}
for(Methodmethod:methods){
StringmethodName=method.getName();
//System.out.println("方法名:"+methodName);
if(methodName.startsWith("get")&&!methodName.equals("getClass")){//如果方法名以get开头
Objectvalue=method.invoke(demo);//调用方法,并打印返回值
System.out.println(value);
}
}
}
}