如何在android项目中使用java反射获取超类中的子类列表

时间:2014-03-26 06:58:33

标签: java reflection

当您浏览android Hello world应用程序时,打开包含android.view包的jar文件,并查看AbsSavedState.Class您可以看到它是超类。

如何使用java反射显示其所有子类(内部类)?

2 个答案:

答案 0 :(得分:1)

您可以尝试按AbsSavedState迭代所有声明的类,只选择其超类为AbsSavedState

以下是一个例子:

for(Class innerClass: AbsSavedState.class.getDeclaredClasses())
{
    if(innerClass.getSuperclass().equals(AbsSavedState.class))
        {
            System.out.println("Sub inner class: " + innerClass.getName());
        }
    }
}

答案 1 :(得分:0)

你需要调用Class的getClasses()方法。

AbsSavedState.Class.getDeclaredClasses()