Java 如何确定一个类是否是另一个类的子类?

Java 如何确定一个类是否是另一个类的子类?,java,Java,我想检查一个类对象是否代表另一个类的子类 比如说 Class class1 = Class.forName("Class1"); Class class2 = Class.forName("Class2"); if(class1.isSubClassOf(class2)) // fake methos isSubClassOf { // do sth } 我如何实现这个isSubClassOf方法?类。isAssignableFrom()或多或少提供了您想要的东西,尽管它也处理接口,所

我想检查一个类对象是否代表另一个类的子类 比如说

Class class1 = Class.forName("Class1");
Class class2 = Class.forName("Class2");

 if(class1.isSubClassOf(class2)) // fake methos isSubClassOf
{
  // do sth
}

我如何实现这个
isSubClassOf
方法?

类。isAssignableFrom()或多或少提供了您想要的东西,尽管它也处理接口,所以可能需要做一些额外的工作,以确保它是一个子类,直接的还是其他的。

我把关于哪个类是哪个类的问题搞混了,正在阅读该方法的javadoc。为了其他人的利益,把这句话放在这里:如果你有
class子类扩展了超类
SuperClass.class.isAssignableFrom(SubClass.class)
为真,而
SubClass.class.isAssignableFrom(SuperClass.class)
为假。所以这是OP虚构的
isSubClassOf
方法的一种反面。