java.lang.Class.asSubclass()方法實例
java.lang.Class.asSubclass() 方法施放此Class對象,以表示指定的Class對象所表示的類的子類。當一個客戶端需要「窄」一類的對象的類型將它傳遞給了限制類的對象,它願意接受一個API,它是有用的。
聲明
以下是**java.lang.Class.asSubclass()**方法的聲明
public <U> Class<? extends U> asSubclass(Class<U> clazz)
參數
- NA
返回值
此方法返回Class對象,轉換爲代表指定的類對象的子類。
異常
- ClassCastException -- 如果此Class對象不表示指定類的子類(在這個「子類」包括類本身)。
例子
下面的例子顯示java.lang.Class.asSubclass()方法的使用。
package com.yiibai; 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 ClassDemo class SubClass1 class SubClass1