クラスメソッド学習5:getGenericSuperclass,getSuperclass

1642 ワード

一.説明
1.ClassgetSuperclass():このクラスの親を返します.
2.Type getGenericSuperclass():汎用パラメータ情報を含むこのクラスの親を返します.
二.例
1.ClassA.java
public class  ClassA <T>{

  private T obj;

  public void setObject(T obj) {

    this.obj = obj;

  }

  

  public T getObject() {

    return obj;

  }

}

 2.Test.java
import java.lang.reflect.Type;

import java.lang.reflect.ParameterizedType;



public class Test<T> extends ClassA<T>{



  public static void main(String args[]) throws Exception{

    System.out.println("======getSuperclass======:");

    System.out.println(Test.class.getSuperclass().getName());

    

    System.out.println("======getGenericSuperclass======:");

    Type t = Test.class.getGenericSuperclass();

    System.out.println(t);

    if (ParameterizedType.class.isAssignableFrom(t.getClass())) {

      System.out.print("----------->getActualTypeArguments:");

      for (Type t1:((ParameterizedType)t).getActualTypeArguments()) {

        System.out.print(t1 + ",");

      }

      System.out.println();

    }

  }

}

 
出力結果:
======getSuperclass======:
ClassA
======getGenericSuperclass======:
ClassA
----------->getActualTypeArguments:T,