The getGenericSuperclass() method of java.lang.Class class is used to get the type of the superclass of this entity. This entity can be a class, an array, an interface, etc. The method returns the type of the superclass of this entity.
Syntax:
public Type getGenericSuperclass()
Parameter: This method does not accept any parameter.
Return Value: This method returns the type of the superclass of this entity.
Exceptions: This method throws following exceptions:
- GenericSignatureFormatError: if the generic class signature does not conform to the format specified in The Java™ Virtual Machine Specification
- TypeNotPresentException: if the generic superclass refers to a non-existent type declaration
- MalformedParameterizedTypeException: if the generic superclass refers to a parameterized type that cannot be instantiated for any reason
Below programs demonstrate the getGenericSuperclass() method.
Example 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()); } } |
Class represented by myClass: class Test Type of the superclass of myClass: class java.lang.Object
Example 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()); } } |
Type of the superclass of arrClass: class java.lang.Object
Reference: https://docs.oracle.com/javase/9/docs/api/java/lang/Class.html#getGenericSuperclass–