받은 생성자를 기반으로 개체를 만들려면 java.lang.reflect.Constructor
클래스 newInstance
메서드를 호출하려고합니다.
나는 클래스 B동적으로 메서드 인수를 생성합니다.
class A
{
void method()
{
ABC abc = new ABC(arg1,arg2);
Constructor c = Class.forName("someClass").getConstructor(ABC.class);
Object o = B.getObject(c,abc);
Object
//do something
}
}
class B
{
public static Object getObject(Constructor c, Object... args)
{
//how to create dynamic call here???
c.newInstance(args[0],args[1],...,args[args.length-1]);
}
}
class someClass
{
someClass(ABC abc)
{
//do something
}
someClass(ABC abc, int a)
{
//do something
}
}
나는 무엇이든지 someClass을 수정할 수 없습니다 동적 호출을 생성해야합니다. (. 사실 someClass 내가 10 ~ 15 다른 calsses를 호출하고 그냥 예, 그래서 수정이 옵션을 선택하지 않습니다 게다가, 나는 일반적인 클래스 B 확인해야합니다.) 당신은 ...
매개 변수로 배열을 전달할 수 있습니다
리플렉션을 사용하여 메소드를 호출하는 방법을 보여주는 [간단한 질문/답변] (http://stackoverflow.com/a/2407242/778118)이 있습니다. – jahroy