繁体   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