Java Class 类 getGenericSuperclass()方法及示例

Class类getGenericSuperclass()方法

  • getGenericSuperclass()方法在java.lang包中可用。

  • getGenericSuperclass()方法用于返回表示该类的泛型超类的Type或直接由该Class表示的接口或原始类型或void。

  • getGenericSuperclass()方法是一个非静态方法,只能通过类对象进行访问,如果尝试使用类名访问该方法,则会收到错误消息。

  • 返回泛型超类时,getGenericSuperclass()方法可能会引发异常。

    • GenericSignatureFormatError:当泛型类签名与JVM规范中给定的格式不匹配时,可能会引发此异常。

    • TypeNotPresentException:如果任何泛型超类引用了不存在的类型,则可能引发此异常。

    • MalformedParameterizedTypeException:当任何泛型超类引用无法以任何代价初始化的参数化类型时,可能会引发此异常。

语法:

    public Type getGenericSuperclass();

参数:

  • 它不接受任何参数。

返回值:

此方法的返回类型为Type,它返回此对象表示的实体的超类。

示例

//Java程序演示示例 
//类的getGenericSuperclass()类型的方法 

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

public class GetGenericSuperClassOfClass {
 public static void main(String[] args) {
  //的泛型超类
  //类GenericClass-

  Type ty = GenericClass.class.getGenericSuperclass();

  if (ty != null) {
   System.out.print("Generic Super class of GenericClass: ");
   System.out.println(ty);
  } else
   System.out.println("No super class exists");
 }
}

class GenericClass extends HashSet {
 public GenericClass() {}
}

输出结果

Generic Super class of GenericClass: class java.util.HashSet