描述
這個java.lang.Class.asSubclass() 方法強製轉換此 Class 對象以表示由指定的類對象表示的類的子類。當客戶端需要 "narrow" Class 對象的類型以將其傳遞給限製它願意傳遞的 Class 對象的 API 時很有用接受。
聲明
以下是聲明java.lang.Class.asSubclass()方法
public <U> Class<? extends U> asSubclass(Class<U> clazz)
參數
NA
返回值
此方法返回此 Class 對象,轉換為表示指定類對象的子類。
異常
ClassCastException- 如果這個 Class 對象不代表指定類的子類(在這個 "subclass" 中包括類本身)。
示例
下麵的例子展示了 java.lang.Class.asSubclass() 方法的用法。
package com.tutorialspoint;
import java.lang.*;
public class ClassDemo {
public static void main(String[] args) {
try {
ClassDemo cls = new ClassDemo();
ClassDemo subcls = new SubClass1();
// class ClassDemo
Class c = cls.getClass();
System.out.println(c);
// sub class SubClass1
Class c1 = subcls.getClass();
System.out.println(c1);
// represent a subclass of the specified class object
Class retval = c1.asSubclass(c);
System.out.println(retval);
} catch(ClassCastException e) {
System.out.println(e.toString());
}
}
}
class SubClass1 extends ClassDemo {
// sub class
}
讓我們編譯並運行上麵的程序,這將產生以下結果——
class com.tutorialspoint.ClassDemo class com.tutorialspoint.SubClass1 class com.tutorialspoint.SubClass1
相關用法
- Java Java.lang.Class.getResource()用法及代碼示例
- Java Java.lang.Class.getConstructor()用法及代碼示例
- Java Java.lang.Class.getConstructors()用法及代碼示例
- Java Java.lang.Class.getDeclaredMethods()用法及代碼示例
- Java Java.lang.Class.getMethod()用法及代碼示例
- Java Java.lang.Class.getDeclaredConstructors()用法及代碼示例
- Java Java.lang.Class.getInterfaces()用法及代碼示例
- Java Java.lang.Class.getModifiers()用法及代碼示例
- Java Java.lang.Class.isPrimitive()用法及代碼示例
- Java Java.lang.Class.getName()用法及代碼示例
- Java Java.lang.Class.getTypeParameters()用法及代碼示例
- Java Java.lang.Class.cast()用法及代碼示例
- Java Java.lang.Class.getClasses()用法及代碼示例
- Java Java.lang.Class.getEnclosingMethod()用法及代碼示例
- Java Java.lang.Class.getDeclaredMethod()用法及代碼示例
- Java Java.lang.Class.getResourceAsStream()用法及代碼示例
- Java Java.lang.Class.isAnonymousClass()用法及代碼示例
- Java Java.lang.Class.isArray()用法及代碼示例
- Java Java.lang.Class.isInstance()用法及代碼示例
- Java Java.lang.Class.getComponentType()用法及代碼示例
注:本文由純淨天空篩選整理自 Java.lang.Class.asSubclass() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。