How do I determine if a class extends another class in Java?

后端 未结 4 1156
长发绾君心
长发绾君心 2020-12-03 16:50

In Java how do I go about determining what classes a class extends?

public class A{
}

public class B extends A{
}

public class C extends A{
}

public class         


        
4条回答
  •  再見小時候
    2020-12-03 17:20

    The getSuperClass() approach would fail for E since its immediate superclass is not A, but B. Rather use 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)) {
             // ...
         }
    }
    

提交回复
热议问题