2017-11-23 23 views
0

프로젝트의 모든 클래스를 거쳐 클래스의 정적 변수로 선언 된 이름 또는 일부 유형의 주석으로 선언 된 함수로 초기화하는 방법이 있습니까? Java - 기본 이름이있는 모든 클래스를 초기화하는 반복자

int i = 0; 
Class[] classes = getAllClasses(); 
while(classes[i] != null){ 
    String name = classes[i].getName(); 
    name classname = classes[i](); 
    i++; 
} 

가 사전에 감사합니다

나는 마음에 이런 일이있다.

답변

0

당신은 그들의 인스턴스를 이름으로 클래스를 획득하고 만들려고 할 수 있습니다

public Object[] init(String... classNames) 
     throws ClassNotFoundException, IllegalAccessException, InstantiationException 
{ 
    Object[] instances = new Object[classNames.length]; 
    for(int i = 0; i < classNames.length; i++){ 
     // try to obtain class instance by name 
     Class<?> cls = Class.forName(classNames[i]); 
     // this call require public no args constructor 
     instances[i] = cls.newInstance(); 
    } 
    return instances; 
}