- Java.lang Package classes
- Java.lang - Home
- Java.lang - Boolean
- Java.lang - Byte
- Java.lang - Character
- Java.lang - Character.Subset
- Java.lang - Character.UnicodeBlock
- Java.lang - Class
- Java.lang - ClassLoader
- Java.lang - Compiler
- Java.lang - Double
- Java.lang - Enum
- Java.lang - Float
- Java.lang - InheritableThreadLocal
- Java.lang - Integer
- Java.lang - Long
- Java.lang - Math
- Java.lang - Number
- Java.lang - Object
- Java.lang - Package
- Java.lang - Process
- Java.lang - ProcessBuilder
- Java.lang - Runtime
- Java.lang - RuntimePermission
- Java.lang - SecurityManager
- Java.lang - Short
- Java.lang - StackTraceElement
- Java.lang - StrictMath
- Java.lang - String
- Java.lang - StringBuffer
- Java.lang - StringBuilder
- Java.lang - System
- Java.lang - Thread
- Java.lang - ThreadGroup
- Java.lang - ThreadLocal
- Java.lang - Throwable
- Java.lang - Void
- Java.lang Package extras
- Java.lang - Interfaces
- Java.lang - Errors
- Java.lang - Exceptions
- Java.lang Package Useful Resources
- Java.lang - Useful Resources
- Java.lang - Discussion
Java Class getGenericSuperClass() Method
Description
The Java Class getGenericSuperClass() method 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.
Getting Generic Super Class of a Class Example
The following example shows the usage of java.lang.Class.getGenericSuperclass() method. In this program, we've created a class IntegerClass which extends ArrayList. Now using getGenericSuperClass() method, the generic superclass of IntegerClass is retrieved and printed.
package com.tutorialspoint; import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; 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 } }
Output
Let us compile and run the above program, this will produce the following result −
java.util.ArrayList<java.lang.Integer> class java.lang.Integer
Getting Generic Super Class of an ArrayList Example
The following example shows the usage of java.lang.Class.getGenericSuperclass() method. In this program, we've used class of ArrayList. Now using getGenericSuperClass() method, the generic superclass of ArrayList is retrieved and printed.
package com.tutorialspoint; import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; import java.util.ArrayList; public class ClassDemo { public static void main(String args[]) { // returns the superclass Type t = ArrayList.class.getGenericSuperclass(); System.out.println(t); ParameterizedType p = (ParameterizedType)t; System.out.println(p.getActualTypeArguments()[0]); } }
Output
Let us compile and run the above program, this will produce the following result −
java.util.AbstractList<E> E
Getting Generic Super Class of an Thread Example
The following example shows the usage of java.lang.Class.getGenericSuperclass() method. In this program, we've used class of Thread. Now using getGenericSuperClass() method, the generic superclass of Thread is retrieved and printed.
package com.tutorialspoint; import java.lang.reflect.Type; public class ClassDemo { public static void main(String args[]) { // returns the superclass Type t = Thread.class.getGenericSuperclass(); System.out.println(t); } }
Output
Let us compile and run the above program, this will produce the following result −
class java.lang.Object