java - 有没有办法通过Java中的反射获取InnerClasses列表?

标签 java reflection

Java中有没有办法通过Reflection知道一个Class有哪些内部类?

最佳答案

是的,使用 Class#getDeclaredClasses()为了这。您只需要通过检查其修饰符来确定它是内部类还是嵌套(静态)类。假设 Parent 是父类,下面是一个启动示例:

for (Class<?> cls : Parent.class.getDeclaredClasses()) {
    if (!Modifier.isStatic(cls.getModifiers())) {
        // This is an inner class. Do your thing here.
    } else {
        // This is a nested class. Not sure if you're interested in this.
    }
}

注意:这仅不包括匿名类,但参见 your previous question关于这个主题,我不认为你明确要求他们。

关于java - 有没有办法通过Java中的反射获取InnerClasses列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2752226/

相关文章:

java - 如何将未知类型的对象传递给未知类型的类

c# - 如何通过继承对类进行排序?

c# - 如何从其构造函数设置自定义异常类的 InnerException

java - 使用 JGit 获取所有分支

scala - 在 Scala 中反射(reflect)父类(super class)的值类型参数,无需 TypeTag

java - 将类类型作为参数传递以在 ArrayList 中使用?

java - 引用泛型派生类仅指定一些类型参数会导致编译器出现 "incompatible types"错误

java - 捕获 Hibernate 异常

java - 如何从外部网页内容目录读取文件

java - 如何比较两个字符串?