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