java.lang.Class.getGenericSuperClass()方法用法实例教程 - 返回类型的直接超类,这个类表示的实体(类,
接口,原始类型或void)。
描述
java.lang.Class.getGenericSuperClass() 返回类型的直接超类,这个类表示的实体(类,接口,原始类型或void)。
声明
以下是声明java.lang.Class.getGenericSuperClass()方法
class="java" name="code">public Type getGenericSuperclass()
参数
NA
返回值
此方法返回此对象所表示的类的超类。
异常
GenericSignatureFormatError -- 如果
泛型类的签名不符合Java虚拟机规范中指定的格式,第3版。
TypeNotPresentException --如果通用超类指的是一个不存在的类型声明。
MalformedParameterizedTypeException -- 如果通用超类是指以任何理由,不能被实例化的参数化类型。
实例
下面的
例子说明了如何使用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{
public IntegerClass() {
// no argument constructor
}
}
让我们来编译和运行上面的程序,这将产生以下结果:
java.util.ArrayList
class java.lang.Integer