クラスメソッド学習5:getGenericSuperclass,getSuperclass
1642 ワード
一.説明
1.ClassgetSuperclass():このクラスの親を返します.
2.Type getGenericSuperclass():汎用パラメータ情報を含むこのクラスの親を返します.
二.例
1.ClassA.java
2.Test.java
出力結果:
======getSuperclass======:
ClassA
======getGenericSuperclass======:
ClassA
----------->getActualTypeArguments:T,
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,