import java.lang.reflect.Method;
import java.lang.Class;
class A{
public void setXXX(){
System.out.println("XXX");
}
public void setYYY(){
System.out.println("YYY");
}
public void setZZZ(){
System.out.println("ZZZ");
}
}
public class Test3 {
public static void main(String[] src) throws Exception{
Class myclass = Class.forName("A");
Method myMethod[] = myclass.getMethods();
for(int i = 0 ; i < myMethod.length ; i++){
String methodname = myMethod[i].getName();
if(methodname.indexOf("set") != -1){
myMethod[i].invoke(new A(),null);
}
}
}
}
测试结果
XXX
YYY
ZZZ
import java.lang.Class;
class A{
public void setXXX(){
System.out.println("XXX");
}
public void setYYY(){
System.out.println("YYY");
}
public void setZZZ(){
System.out.println("ZZZ");
}
}
public class Test3 {
public static void main(String[] src) throws Exception{
Class myclass = Class.forName("A");
Method myMethod[] = myclass.getMethods();
for(int i = 0 ; i < myMethod.length ; i++){
String methodname = myMethod[i].getName();
if(methodname.indexOf("set") != -1){
myMethod[i].invoke(new A(),null);
}
}
}
}
测试结果
XXX
YYY
ZZZ
本文通过一个Java示例展示了如何使用反射机制调用类中的公共方法。具体实现了遍历类的所有方法并调用以set开头的方法,最终打印出了被调用方法的名字。
566

被折叠的 条评论
为什么被折叠?



