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
方法的一种反面。