簡體   English   中英

Java創建帶有反射的嵌套靜態類的實例

[英]JAVA creating instance of nested static class with reflection

我想創建一個帶有反射的嵌套 靜態類的實例。 我有以下代碼:

if (Modifier.isStatic(nestedClass.getModifiers())) {
                //TODO - WRITE HERE SOMETHING
 } else {
    ctor = nestedClass.getDeclaredConstructor(outerClass);
    ctor.setAccessible(true);
    testInstance = ctor.newInstance(outerInstance);
 }

但無法弄清楚在if語句中該怎么做。 一些幫助或建議,將不勝感激。 謝謝。

嵌套的靜態類不需要外部實例,因此請嘗試與else相同, outerInstance構造函數的參數中刪除outerClassouterInstance

ctor = nestedClass.getDeclaredConstructor();//no outer class in argument
ctor.setAccessible(true);
testInstance = ctor.newInstance();//no outer instance in argument

嘗試類似的方法:

Class<MyClass> nestedClass = MyClass.class;
if (Modifier.isStatic(nestedClass.getModifiers())) {
     MyClass instance = nestedClass.newInstance();
     System.out.println(instance);
}
Output:
MainClass$MyClass@1db9742

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM