variable unitarias tutorial software pruebas otra metodo llamar libre framework español empaqueta cuyo configuracion como clase java subclass instanceof class-hierarchy

unitarias - llamar variable de otra clase java



¿Cómo probar si una clase Java amplía otra en tiempo de ejecución? (3)

Desea saber si b se puede asignar desde a :

b.isAssignableFrom(a);

Además, si desea saber que a es una subclase directa de b :

a.getSuperclass().equals(b);

¿Cómo puedo probar si a es una subclase de b ?

Class<?> a = A.class; Class<?> b = B.class;


Estás buscando:

Super.class.isAssignableFrom(Sub.class)


Si desea saber si una Class extiende o no a otra, utilice la Class#isAssignableFrom(Class) . Para su ejemplo, sería:

if(B.class.isAssignableFrom(A.class)) { ... }

Si le interesa saber si una instancia es de un tipo particular, use instanceof :

A obj = new A(); if(obj instanceof B) { ... }

Tenga en cuenta que estos devolverán true si la clase / instancia es miembro de la jerarquía de tipos y no son restrictivas para las relaciones directas de superclase / subclase. Por ejemplo:

// if A.class extends B.class, and B.class extends C.class C.class.isAssignableFrom(A.class); // evaluates to true // ...and... new A() instanceof C; // evaluates to true

Si desea verificar relaciones directas de superclase / subclase, Tim también ha proporcionado una respuesta .