Java 构建一个类的集合';内部类
在伪代码中,我得到:Java 构建一个类的集合';内部类,java,Java,在伪代码中,我得到: abstract class Event { ... public static class MouseEvent extends Event { ... } public static class KeyboardEvent extends Event { ... } public static class NetworkEvent extends Event { ... } } 是否有一种简洁的方法来获取所有内部类子类的名称/详细信息的
abstract class Event
{
...
public static class MouseEvent extends Event
{
...
}
public static class KeyboardEvent extends Event
{
...
}
public static class NetworkEvent extends Event
{
...
}
}
是否有一种简洁的方法来获取所有内部类子类的名称/详细信息的集合?最好是作为基本
事件类的方法…我相信您需要事件.class.getDeclaredClasses()
然而,我认为您正在寻找一种更开放的扫描机制,它不局限于内部类。基于这个问题,看起来并没有一个直接的方法来做到这一点
Spring框架通过注释扫描完成了类似的工作(请参阅),但他们的方法不是直接的方法调用
public static void main(String[] args) {
for (Class c : OuterClass.class.getClasses())
{
System.out.println(c.getName());
}
}
然后你就可以上
public class OuterClass {
public class InnerClass {
}
public class InnerClassA {
}
public class InnerClassC {
}
}
生成的打印语句是
OuterClass$InnerClass
OuterClass$InnerClassA
OuterClass$InnerClassC
如果我只想添加扩展Event
的限制类怎么办?这不应该是Event.class.getDeclaredClasses()
?
public class OuterClass {
public class InnerClass {
}
public class InnerClassA {
}
public class InnerClassC {
}
}
OuterClass$InnerClass
OuterClass$InnerClassA
OuterClass$InnerClassC