假设我使用一个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();