位置:首頁 > Java技術 > java.lang > java.lang.Class.getGenericSuperClass()方法實例

java.lang.Class.getGenericSuperClass()方法實例

java.lang.Class.getGenericSuperClass() 返回表示此Class所表示的實體(類,接口,基本類型或void)的直接超類的類型。

聲明

以下是java.lang.Class.getGenericSuperClass()方法的聲明

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<Integer> {
   public IntegerClass() {
      // no argument constructor
   }
}

讓我們來編譯和運行上麵的程序,這將產生以下結果:

java.util.ArrayList<java.lang.Integer>
class java.lang.Integer