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 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 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–