If you need to access the metadata of a class or be a bit less type safe than Java is by itself, you will have to get involved with the Java Reflection API. At that the question may arise, how to check whether one class object is the super class of another. If you are working with objects, you may use the java keyword
instanceof. But this won’t work as expected for class objects, since all class objects are instances of
Class<?> . So
Class<?> owns the method
cls1.isAssignableFrom(cls2), checking whether
cls1 is a super class/interface or the same as
cls2. So it works just like
instanceof on objects, but the order of the parameters is switched.