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