Java中getGenericSuperclass()方法詳解
先看以下程式碼:
定義一個帶泛型的父類
package go.jacob.day518;
public class Person <T>{
}
讓Student繼承Person類
public class Student extends Person<Student> {
}
測試類
public class App {
public static void main(String[] args) {
Student stu = new Student();
Class clazz = stu.getClass();
System.out.println("Student類:" + clazz);
System.out.println("Student父類:" + clazz.getSuperclass());
// getGenericSuperclass()獲得帶有泛型的父類
// Type是 Java 程式語言中所有型別的公共高階介面。它們包括原始型別、引數化型別、陣列型別、型別變數和基本型別。
System.out.println("Student的Generic父類:" + clazz.getGenericSuperclass());
Type type=clazz.getGenericSuperclass();
//ParameterizedType引數化型別,即泛型
ParameterizedType p=(ParameterizedType)type;
Class c=(Class)p.getActualTypeArguments()[0];
System.out.println(c);
}
}
執行結果:
Student類:class go.jacob.day518.Student
Student父類:class go.jacob.day518.Person
Student的Generic父類:go.jacob.day518.Person<go.jacob.day518.Student>
class go.jacob.day518.Student
簡單來說,clazz.getGenericSuperclass()可以獲得帶泛型的父類,這種型別在java中叫做Type
然後用ParameterizedType p=(ParameterizedType)type; 與Class c=(Class)p.getActualTypeArguments()[0];獲得泛型的具體型別
相關文章
- Java中的方法引用詳解Java
- java方法詳解Java
- 05.Java 方法詳解Java
- java中CopyOnWriteArrayList詳解Java
- [譯] Java 橋接方法詳解Java橋接
- Pandas中resample方法詳解
- Java中「Future」介面詳解Java
- Java中的ThreadLocal詳解Javathread
- list中add、set方法詳解
- Java中lambda表示式詳解Java
- java中printf中用法詳解Java
- 詳解 Java 中的物件克隆Java物件
- 使用Java填充Word模板的方法詳解Java
- Java中的java.lang.Class API 詳解JavaAPI
- JQuery中$.ajax()方法引數詳解jQuery
- Java中的設計模式詳解Java設計模式
- Java中的類與物件詳解Java物件
- Java中的併發集合詳解Java
- Java 中 this 和 super 的用法詳解Java
- java中Collections.sort排序詳解Java排序
- 02-Java中的鎖詳解Java
- Java中的static詳細講解Java
- Java中的Type型別詳解Java型別
- 【Java集合】單列集合Collection常用方法詳解Java
- java.nio.Buffer.filp()方法的用法詳解Java
- 詳解Python中的str.format方法PythonORM
- Python 中__new__方法詳解及使用Python
- Java中的記憶體模型詳解Java記憶體模型
- Java中的多執行緒詳解Java執行緒
- Java中的執行緒同步詳解Java執行緒
- Java中的介面與抽象類詳解Java抽象
- Java中的靜態代理模式詳解Java模式
- java.lang.*中Thread 原始碼詳解Javathread原始碼
- 詳解 Java 中的三種代理模式Java模式
- 詳述 IntelliJ IDEA 遇到 java -source 1.3 中不支援某某操作的解決方法IntelliJIdeaJava
- Java 註解詳解Java
- Java註解詳解Java
- super()方法詳解
- toJSON()方法詳解JSON