2013-06-11 2 views
2

목록 상자에 표시된 문자열에 의해 호출되는 클래스를 사용하고 싶습니다.목록 상자의 새 클래스 인스턴스 값

내가

"클래스 1" "Class2의"목록 상자에서

를 가지고 있고,이 같은를 사용하는 것처럼 :

새로운 "클래스 1"

이 가능를?

+0

"목록 상자"란 무엇입니까? –

답변

6

리플렉션을 사용하여 가능합니다. 먼저, 클래스를 찾으십시오.

Class<?> clazz = Class.forName("Class1"); // or a variable containing the class name 

주의, forName는 완전한 클래스 이름 (예를 들어, java.lang.String)가 필요합니다.

그런 다음 클래스 개체에 newInstance을 호출하십시오.

Object instance = clazz.newInstance(); 

각 메소드 호출은 catch해야 할 여러 예외를 throw합니다.

2

가능한 모든 클래스를 미리 알고있는 경우 Factory pattern을 사용하여받은 문자열을 기반으로 인스턴스를 작성할 수 있습니다.