가능한 중복 :
m1
,m2
,m3
, ...이 같은의 이름으로 메소드를 호출:
How do I invoke a Java method when given the method name as a string?
I (10 개)라는 이름의 메소드가
public void m1(){
..
}
'for'루프에서 문자열로 어떻게 호출합니까?
나는이 작업을 수행 할 수 : this
객체에
for (int i=1;i<11;i++){
invoke('m'+i);
}
"Reflection"이라는 기능을 사용해야합니다. –
이것은 실제로 중복되지 않습니다. 간단한 대답은 사용 반사이지만이 같은 디자인은 잘못되었습니다. Java가 메소드의 서명을 정의하기 위해 인터페이스를 사용하고 메소드가 호출하는 메소드를 호출하는 인터페이스를 구현하는 객체를 반복하는 방식으로 Java가 클로저 형태의 최상위 메소드를 가져올 때까지해야합니다. –