メソッド名に基づいてメソッドを動的に呼び出す
2493 ワード
主にJava反射メカニズムによって実現される.
例:
実行結果:
例:
public class NewClass {
private static final NewClass newClass = new NewClass();
public void doTest(String methodName){
try {
newClass.getClass().getMethod(methodName, new Class[]{}).invoke(newClass, new Object[]{});
} catch (Exception ex) {
Logger.getLogger(NewClass.class.getName()).log(Level.SEVERE, null, ex);
}
}
public void speak(){
System.out.println("speak");
}
public void running(){
System.out.println("running");
}
}
public class Test {
public static void main(String[] args) {
NewClass newClass = new NewClass();
newClass.doTest("speak");
newClass.doTest("running");
}
}
実行結果:
run:
speak
running
( : 0 )