java.lang.Class.getGenericSuperClass()%uA0返回表示此Class所表示的实体(类,接口,基本类型或void)的直接超类的类型。
声明
以下是java.lang.Class.getGenericSuperClass()方法的声明
public Type getGenericSuperclass()
参数
-
NA
返回值
此方法返回当前对象所表示的类的超类。
异常
-
GenericSignatureFormatError%uA0-- 如果泛型类的签名不符合Java虚拟机规范中指定的格式,第3版。
-
TypeNotPresentException%uA0-- 如果通用超类指的是不存在的类型声明。
-
MalformedParameterizedTypeException%uA0-- 如果通用超类指的是参数化类型不能被实例化理由。
例子
下面的例子显示java.lang.Class.getGenericSuperClass()方法的使用。
package com.yiibai 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 } }
让我们来编译和运行上面的程序,这将产生以下结果:
java.util.ArrayList<java.lang.Integer> class java.lang.Integer