samedi 28 février 2015

Checking if class is child of class



I am loading classes via ClassLoader:



Class<?> clazz = urlClassLoader.loadClass(name.substring(0, name.length() - 6).replaceAll("/", "."));
System.out.println(clazz);
System.out.println(clazz.isInstance(SkillCast.class));
System.out.println(SkillCast.class.isInstance(clazz));
System.out.println(SkillCast.class.isAssignableFrom(clazz));
System.out.println(clazz.isAssignableFrom(SkillCast.class));


This is my structure:



public class SkillFireball extends SkillCast implements ISkillThrown
public abstract class SkillCast extends Skill


And prints are:



class skills.SkillFireball
false
false
false
false


What I am sure of is that clazz is SkillFireball and I can print field/method names.


How can I check if clazz is child of SkillCast?




Aucun commentaire:

Enregistrer un commentaire