Java.lang.Class.getGenericSuperClass() Method



Description

The java.lang.Class.getGenericSuperClass() returns the Type representing the direct superclass of the entity (class, interface, primitive type or void) represented by this Class.

Declaration

Following is the declaration for java.lang.Class.getGenericSuperClass() method

public Type getGenericSuperclass()

Parameters

NA

Return Value

This method returns the superclass of the class represented by this object.

Exception

  • GenericSignatureFormatError − If the generic class signature does not conform to the format specified in the Java Virtual Machine Specification, 3rd edition.

  • 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.

Example

The following example shows the usage of java.lang.Class.getGenericSuperClass() method.

package com.tutorialspoint;

import java.lang.reflect.*;
import java.util.ArrayList;

public class ClassDemo {

   public static void main(String args[]) {

      // returns the superclass
      Type t = IntegerClass.class.getGenericSuperclass();
      System.out.println(t); 
    
      ParameterizedType p = (ParameterizedType)t;
      System.out.println(p.getActualTypeArguments()[0]);
   }
}

class IntegerClass extends ArrayList<Integer> {
   public IntegerClass() {
      // no argument constructor
   }
}

Let us compile and run the above program, this will produce the following result −

java.util.ArrayList<java.lang.Integer>
class java.lang.Integer
java_lang_class.htm
Advertisements