如何在 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 !!!

更新日期:2023 年 11 月 24 日

2K+ 人次瀏覽

啟動你的 職業

完成課程即可獲得認證

開始
廣告