Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java에서 리플렉션을 사용하여 정적 내부 클래스를 인스턴스화하는 방법은 무엇입니까?

<시간/>

정적 내부 클래스 외부 클래스의 인스턴스 없이도 인스턴스화할 수 있습니다. . 일반적으로 내부 클래스 중첩 클래스의 일부입니다. , 비정적 중첩 클래스 라고 함 자바에서. 내부 클래스의 유형은 멤버 내부 클래스, 익명 내부 클래스,로컬 내부 클래스

InnerClass.class.newInstance()를 사용하여 리플렉션을 사용하여 정적 내부 클래스를 인스턴스화할 수 있습니다. . 비정적 내부 클래스를 인스턴스화하기 위해 외부 클래스의 인스턴스가 필요한 경우 new 연산자.

예시

import java.lang.reflect.*;
public class InnerclassWithReflectionTest {
   public static void main(String args[]) {
      try {
         InnerClass inner = (InnerClass) InnerClass.class.newInstance();
         inner.test();
      } catch(Exception e) {
         e.printStackTrace();
      }
   }
   // inner class
   static class InnerClass {
      public void test() {
         System.out.println("Welcome to TutorialsPoint !!!");
      }
   }
}

출력

Welcome to TutorialsPoint !!!