如何在 Java 中通过反射实例化静态内部类?

javaobject oriented programmingprogramming更新于 2024/5/10 1:35:00

静态内部类无需外部类的实例即可实例化。一般来说,内部类 嵌套类的一部分,在 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 !!!

相关文章