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