El método getGenericSuperclass() de la clase java.lang.Class se utiliza para obtener el tipo de la superclase de esta entidad. Esta entidad puede ser una clase, una array, una interfaz, etc. El método devuelve el tipo de la superclase de esta entidad.
Sintaxis:
public Type getGenericSuperclass()
Parámetro: Este método no acepta ningún parámetro.
Valor devuelto: este método devuelve el tipo de la superclase de esta entidad.
Excepciones: este método arroja las siguientes excepciones:
- GenericSignatureFormatError: si la firma de la clase genérica no se ajusta al formato especificado en la especificación de la máquina virtual Java™
- TypeNotPresentException: si la superclase genérica hace referencia a una declaración de tipo inexistente
- MalformedParameterizedTypeException: si la superclase genérica hace referencia a un tipo parametrizado que no se puede instanciar por ningún motivo
Los siguientes programas demuestran el método getGenericSuperclass().
Ejemplo 1:
Java
// Java program to demonstrate // getGenericSuperclass() method public class Test { public static void main(String[] args) throws ClassNotFoundException { // returns the Class object for this class Class myClass = Class.forName("Test"); System.out.println( "Class represented by myClass: " + myClass.toString()); // Get the super class of myClass // using getGenericSuperclass() method System.out.println( "Type of the superclass of myClass: " + myClass.getGenericSuperclass()); } }
Producción:
Class represented by myClass: class Test Type of the superclass of myClass: class java.lang.Object
Ejemplo 2:
Java
// Java program to demonstrate // getGenericSuperclass() method public class Test { class Arr { } public static void main(String[] args) throws ClassNotFoundException { // returns the Class object for Arr Class arrClass = Arr.class; // Get the super class of arrClass // using getGenericSuperclass() method System.out.println( "Type of the superclass of arrClass: " + arrClass.getGenericSuperclass()); } }
Producción:
Type of the superclass of arrClass: class java.lang.Object
Referencia: https://docs.oracle.com/javase/9/docs/api/java/lang/Class.html#getGenericSuperclass–