- java.lang 包中的类
- java.lang - 首页
- 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 包的其他内容
- java.lang - 接口
- java.lang - 错误
- java.lang - 异常
- java.lang 包的有用资源
- java.lang - 有用资源
- java.lang - 讨论
Java Class getGenericSuperClass() 方法
描述
Java Class getGenericSuperClass() 方法返回表示此 Class 表示的实体(类、接口、原始类型或 void)的直接超类的 Type。
声明
以下是 java.lang.Class.getGenericSuperclass() 方法的声明
public Type getGenericSuperclass()
参数
无
返回值
此方法返回此对象所表示的类的超类。
异常
GenericSignatureFormatError − 如果泛型类签名不符合 Java 虚拟机规范第 3 版中指定的格式。
TypeNotPresentException − 如果泛型超类引用不存在的类型声明。
MalformedParameterizedTypeException − 如果泛型超类引用任何原因都无法实例化的参数化类型。
获取类的泛型超类示例
以下示例演示了 java.lang.Class.getGenericSuperclass() 方法的用法。在此程序中,我们创建了一个扩展 ArrayList 的 IntegerClass 类。现在使用 getGenericSuperClass() 方法,检索并打印 IntegerClass 的泛型超类。
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 } }
输出
让我们编译并运行上述程序,这将产生以下结果:
java.util.ArrayList<java.lang.Integer> class java.lang.Integer
获取 ArrayList 的泛型超类示例
以下示例演示了 java.lang.Class.getGenericSuperclass() 方法的用法。在此程序中,我们使用了 ArrayList 的类。现在使用 getGenericSuperClass() 方法,检索并打印 ArrayList 的泛型超类。
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]); } }
输出
让我们编译并运行上述程序,这将产生以下结果:
java.util.AbstractList<E> E
获取 Thread 的泛型超类示例
以下示例演示了 java.lang.Class.getGenericSuperclass() 方法的用法。在此程序中,我们使用了 Thread 的类。现在使用 getGenericSuperClass() 方法,检索并打印 Thread 的泛型超类。
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); } }
输出
让我们编译并运行上述程序,这将产生以下结果:
class java.lang.Object