목록 상자에 표시된 문자열에 의해 호출되는 클래스를 사용하고 싶습니다.목록 상자의 새 클래스 인스턴스 값
내가
"클래스 1" "Class2의"목록 상자에서
를 가지고 있고,이 같은를 사용하는 것처럼 :
새로운 "클래스 1"
이 가능를?
목록 상자에 표시된 문자열에 의해 호출되는 클래스를 사용하고 싶습니다.목록 상자의 새 클래스 인스턴스 값
내가
"클래스 1" "Class2의"목록 상자에서
를 가지고 있고,이 같은를 사용하는 것처럼 :
새로운 "클래스 1"
이 가능를?
리플렉션을 사용하여 가능합니다. 먼저, 클래스를 찾으십시오.
Class<?> clazz = Class.forName("Class1"); // or a variable containing the class name
주의, forName
는 완전한 클래스 이름 (예를 들어, java.lang.String
)가 필요합니다.
그런 다음 클래스 개체에 newInstance
을 호출하십시오.
Object instance = clazz.newInstance();
각 메소드 호출은 catch해야 할 여러 예외를 throw합니다.
가능한 모든 클래스를 미리 알고있는 경우 Factory pattern을 사용하여받은 문자열을 기반으로 인스턴스를 작성할 수 있습니다.
"목록 상자"란 무엇입니까? –