gpt4 book ai didi

java - 如何确定一个类是否扩展了 Java 中的另一个类?

转载 作者:IT老高 更新时间:2023-10-28 21:13:51 25 4
gpt4 key购买 nike

在 Java 中,我如何确定一个类扩展了哪些类?

public class A{
}

public class B extends A{
}

public class C extends A{
}

public class D{
}

public class E extends B{
}

public class doSomething{

public void myFunc(Class cls){
//need to check that cls is a class which extends A
//i.e. B, C and E but not A or D
}
}

cls.getSuperClass() 会做我需要的吗?

最佳答案

getSuperClass() 方法对于 E 会失败,因为它的直接父类(super class)不是 A,而是 B .宁可使用 Class#isAssignableFrom() .

public void myFunc(Class cls){
//need to check that cls is a class which extends A
//i.e. B, C and E but not A or D

if (cls != A.class && A.class.isAssignableFrom(cls)) {
// ...
}
}

关于java - 如何确定一个类是否扩展了 Java 中的另一个类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4100281/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com