![](/img/trans.png)
[英]Querying classes with arbitrary properties in Java classpath using the Reflections library
[英]Using Java Reflections to retrieve member classes
我正在使用.getDeclaredClasses()方法来检索已在object中定义的所有类。 但是,我无法检索该类中定义的匿名类。 这是我正在测试的代码示例:
public class TempCodes
{
public static void main(String[] args)
{
Ball b = new Ball()
{
public void hit()
{
System.out.println("You hit it!");
}
};
b.hit();
}
interface Ball {
void hit();
}
}
这就是我的代码的作用:
memClass = className.getDeclaredClasses();
if (memClass .length > 0)
{
for (int index = 0 ; index < memClass .length ; index++)
{
System.out.println("\t\t\t" + memClass [index]);
}
}
谁能帮助我了解如何检索匿名类?
问候,ie
在类路径的帮助下:
final Class<?> cls = TempCodes.class;
String[] names = new File(cls.getResource("").toURI()).list(new FilenameFilter() {
public boolean accept(File dir, String name) {
return name.startsWith(cls.getSimpleName());
}
});
for (String name : names) {
System.out.println(name);
}
结果:
TempCodes$1.class TempCodes$Ball.class TempCodes.class
您必须自己过滤掉所需的信息。
免责声明:不适用于JAR文件,但提示非常清楚:使用反射是不可能的。 我会对此提出疑问,并重新考虑设计或方法。 这里是一些有趣的主题: Java反思:如何检索匿名内部类? 和访问内部匿名班级成员 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.