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



假设我使用一个Java文件,其中包含两个类,如a&B(B延伸A)。

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

Java反射中是否存在获取所有超类的方法?

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

呼叫Class.getSuperclass()。它返回超类,如果没有,则返回null

Java反射中是否存在获取所有超类的方法?

没有。然而,您可以简单地找到一个带有循环的类的所有超类;例如

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

最新更新