通过Java反射获取非命名内部类的实例可以按照以下步骤进行:
Class<?> outerClass = OuterClass.class;
Class<?>[] innerClasses = outerClass.getDeclaredClasses();
Class<?> targetClass = null;
for (Class<?> innerClass : innerClasses) {
if (innerClass.getSimpleName().equals("TargetClass")) {
targetClass = innerClass;
break;
}
}
其中,"TargetClass"需要替换为目标非命名内部类的名称。
Object targetInstance = targetClass.newInstance();
需要注意的是,newInstance()方法在Java 9及以上版本中已被标记为过时,推荐使用getDeclaredConstructor()方法获取构造函数,并使用newInstance()方法创建实例。
这是通过Java反射获取非命名内部类的实例的基本步骤。根据具体的应用场景和需求,可以进一步对获取到的实例进行操作和处理。
领取专属 10元无门槛券
手把手带您无忧上云