Java.lang.Class.asSubclass() 方法
描述
aa 方法将此 Class 对象转换为表示指定类对象所表示的类的子类。当客户端需要"缩小" 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.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