Java에서 이름으로 클래스 인스턴스화
Java는 문자열 이름을 전달하여 클래스를 인스턴스화하는 두 가지 방법을 제공합니다.
1. 인수 없는 생성자와 함께 리플렉션 사용
대상 클래스에 인수 없는 생성자가 있는 경우 Class.forName() 메서드를 사용하여 Class 객체를 얻을 수 있습니다. 그런 다음 newInstance() 메서드를 호출하여 인스턴스를 만듭니다.
Class<?> clazz = Class.forName("java.util.Date"); Object date = clazz.newInstance();
2. 인수 없는 생성자가 있거나 없는 클래스에 대해 리플렉션 사용
인수 없는 생성자가 있거나 없는 클래스에 작동하는 보다 포괄적인 접근 방식을 보려면 다음 단계를 따르세요.
Class<?> clazz = Class.forName("com.foo.MyClass"); Constructor<?> constructor = clazz.getConstructor(String.class, Integer.class); Object instance = constructor.newInstance("stringparam", 42);
참고: 두 접근 방식 모두 리플렉션을 포함하며, 이는 Java의 예외 처리 및 보안 제약 조건을 우회할 수 있으므로 신중하게 사용해야 합니다.
위 내용은 문자열 이름만 사용하여 Java 클래스를 인스턴스화하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!