如何使用java中的反射从包/单个java文件中查找所有扩展类?

时间:2015-11-30 11:50:35

标签: java reflection

假设我使用一个包含2个类的单个Java文件,例如A&乙 (B扩展A)。

那么如何在Java中使用反射找到A类?

Java反射中是否有任何方法可以获取所有超类?

2 个答案:

答案 0 :(得分:0)

B object;

Class subclass = object.getClass();
Class superclass = subclass.getSuperclass();

答案 1 :(得分:0)

  

那么如何在Java中使用反射找到A类?

致电Class.getSuperclass()。它返回超类,如果没有超级类,则返回null

  

Java反射中是否有任何方法可以获取所有超类?

不,没有。但是,您可以通过循环轻松找到类的所有超类; e.g。

    public List<Class> getAllSuperclasses(Class cls) {
        List<Class> res = new ArrayList<>();
        while ((cls = cls.getSuperclass()) != null) {
            res.add(cls);
        }
        return res;
    }