
- java.lang 包中的類
- java.lang - 首頁
- java.lang - Boolean
- java.lang - Byte
- java.lang - Character
- java.lang - Character.Subset
- java.lang - Character.UnicodeBlock
- java.lang - Class
- java.lang - ClassLoader
- java.lang - Compiler
- java.lang - Double
- java.lang - Enum
- java.lang - Float
- java.lang - InheritableThreadLocal
- java.lang - Integer
- java.lang - Long
- java.lang - Math
- java.lang - Number
- java.lang - Object
- java.lang - Package
- java.lang - Process
- java.lang - ProcessBuilder
- java.lang - Runtime
- java.lang - RuntimePermission
- java.lang - SecurityManager
- java.lang - Short
- java.lang - StackTraceElement
- java.lang - StrictMath
- java.lang - String
- java.lang - StringBuffer
- java.lang - StringBuilder
- java.lang - System
- java.lang - Thread
- java.lang - ThreadGroup
- java.lang - ThreadLocal
- java.lang - Throwable
- java.lang - Void
- java.lang 包的其他內容
- java.lang - 介面
- java.lang - 錯誤
- java.lang - 異常
- java.lang 包的有用資源
- java.lang - 有用資源
- java.lang - 討論
Java Class getGenericSuperClass() 方法
描述
Java Class getGenericSuperClass() 方法返回表示此 Class 表示的實體(類、介面、原始型別或 void)的直接超類的 Type。
宣告
以下是 java.lang.Class.getGenericSuperclass() 方法的宣告
public Type getGenericSuperclass()
引數
無
返回值
此方法返回此物件所表示的類的超類。
異常
GenericSignatureFormatError − 如果泛型類簽名不符合 Java 虛擬機器規範第 3 版中指定的格式。
TypeNotPresentException − 如果泛型超類引用不存在的型別宣告。
MalformedParameterizedTypeException − 如果泛型超類引用任何原因都無法例項化的引數化型別。
獲取類的泛型超類示例
以下示例演示了 java.lang.Class.getGenericSuperclass() 方法的用法。在此程式中,我們建立了一個擴充套件 ArrayList 的 IntegerClass 類。現在使用 getGenericSuperClass() 方法,檢索並列印 IntegerClass 的泛型超類。
package com.tutorialspoint; import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; 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
獲取 ArrayList 的泛型超類示例
以下示例演示了 java.lang.Class.getGenericSuperclass() 方法的用法。在此程式中,我們使用了 ArrayList 的類。現在使用 getGenericSuperClass() 方法,檢索並列印 ArrayList 的泛型超類。
package com.tutorialspoint; import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; import java.util.ArrayList; public class ClassDemo { public static void main(String args[]) { // returns the superclass Type t = ArrayList.class.getGenericSuperclass(); System.out.println(t); ParameterizedType p = (ParameterizedType)t; System.out.println(p.getActualTypeArguments()[0]); } }
輸出
讓我們編譯並執行上述程式,這將產生以下結果:
java.util.AbstractList<E> E
獲取 Thread 的泛型超類示例
以下示例演示了 java.lang.Class.getGenericSuperclass() 方法的用法。在此程式中,我們使用了 Thread 的類。現在使用 getGenericSuperClass() 方法,檢索並列印 Thread 的泛型超類。
package com.tutorialspoint; import java.lang.reflect.Type; public class ClassDemo { public static void main(String args[]) { // returns the superclass Type t = Thread.class.getGenericSuperclass(); System.out.println(t); } }
輸出
讓我們編譯並執行上述程式,這將產生以下結果:
class java.lang.Object