Jest to możliwe za pomocą refleksji, chociaż prawdopodobnie powinieneś zakwestionować swój projekt, jeśli potrzebujesz tego rodzaju zachowania. Class.getMethod
zajmuje String
dla nazwy metody i zwraca Method
przedmiot, który można następnie zadzwonić .invoke
na celu wywołać metodę
Zamieszczono Javadoc powinno być pomocne:
Przykładowy kod (zakładając, że metody yyyyyy
przyjmują jeden argument int
, aby pokazać argument 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
}
można rozwinąć? Nie jest to takie jasne do zrozumienia. –
Uważam, że termin, którego szukasz, jest "odbiciem". – Stephen
i jestem również pewien, co miał na myśli, to jest: http://stackoverflow.com/questions/160970/how-do-i-invoke-a-java-method-when-given-the-method-name -as-a-string – gumuruh