Возможно использование рефлексии, хотя вам, вероятно, следует подвергнуть сомнению ваш дизайн, если вам нужно такое поведение. Class.getMethod
принимает String
для имени метода и возвращает Method
объект, который можно затем вызвать .invoke
на вызов метода
Эти Javadoc страницы должны быть полезны:
Пример кода (если методы yyyyyy
принимают один аргумент int
, просто чтобы показать аргумент pa ssing):
yyyyyy obj = new yyyyyy();
String[] methodNames = {"foo", "bar", "baz"};
for(String methodName : methodNames) {
Method method = Class.forName("yyyyyy").getMethod(methodName, new Class[] {int.class});
method.invoke(obj, 4); // 4 is the argument to pass to the method
}
Вы можете уточнить? Его не так понятно понимать. –
Я считаю, что термин, который вы ищете, - это «отражение». – Stephen
, и я также уверен, что он имел в виду: http://stackoverflow.com/questions/160970/how-do-invoke-a-java-method-when-given-the-method-name -as-a-string – gumuruh